home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Information / CSMP Digest / volume 3 / csmp-digest-v3-013 < prev    next >
Text File  |  1995-12-31  |  83KB  |  2,265 lines

  1. Received-Date: Wed, 13 Apr 1994 14:54:36 +0200
  2. From: pottier@clipper.ens.fr (Francois Pottier)
  3. Subject: csmp-digest-v3-013
  4. To: csmp-digest@ens.fr
  5. Date: Wed, 13 Apr 94 14:54:30 MET DST
  6. X-Mailer: ELM [version 2.3 PL11]
  7. Errors-To: listman@ens.fr
  8. Reply-To: pottier@clipper.ens.fr
  9. X-Sequence: 15
  10.  
  11. C.S.M.P. Digest             Wed, 13 Apr 94       Volume 3 : Issue 13
  12.  
  13. Today's Topics:
  14.  
  15.         AppleEvents to Run Excel?
  16.         Finding the High Bit
  17.         Generating Activate Events
  18.         I got my PPC PDS card...
  19.         Moving an editText area in a Modal Dialog Q
  20.         PPC Development and MPW Tools
  21.         PowerMac Programming
  22.         PowerMacs and ARTA
  23.         Quickdraw GX Beta 3
  24.  
  25.  
  26.  
  27. The Comp.Sys.Mac.Programmer Digest is moderated by Francois Pottier
  28. (pottier@clipper.ens.fr).
  29.  
  30. The digest is a collection of article threads from the internet newsgroup
  31. comp.sys.mac.programmer.  It is designed for people who read c.s.m.p. semi-
  32. regularly and want an archive of the discussions.  If you don't know what a
  33. newsgroup is, you probably don't have access to it.  Ask your systems
  34. administrator(s) for details.  If you don't have access to news, you may
  35. still be able to post messages to the group by using a mail server like
  36. anon.penet.fi (mail help@anon.penet.fi for more information).
  37.  
  38. Each issue of the digest contains one or more sets of articles (called
  39. threads), with each set corresponding to a 'discussion' of a particular
  40. subject.  The articles are not edited; all articles included in this digest
  41. are in their original posted form (as received by our news server at
  42. nef.ens.fr).  Article threads are not added to the digest until the last
  43. article added to the thread is at least two weeks old (this is to ensure that
  44. the thread is dead before adding it to the digest).  Article threads that
  45. consist of only one message are generally not included in the digest.
  46.  
  47. The digest is officially distributed by two means, by email and ftp.
  48.  
  49. If you want to receive the digest by mail, send email to listserv@ens.fr
  50. with no subject and one of the following commands as body:
  51.     help                        Sends you a summary of commands
  52.     subscribe csmp-digest Your Name    Adds you to the mailing list
  53.     signoff csmp-digest            Removes you from the list
  54. Once you have subscribed, you will automatically receive each new
  55. issue as it is created.
  56.  
  57. The official ftp info is //ftp.dartmouth.edu/pub/csmp-digest.
  58. Questions related to the ftp site should be directed to
  59. scott.silver@dartmouth.edu. Currently no previous volumes of the CSMP
  60. digest are available there.
  61.  
  62. Also, the digests are available to WAIS users as comp.sys.mac.programmer.src.
  63.  
  64.  
  65. -------------------------------------------------------
  66.  
  67. >From greer@utdallas.edu (Dale M. Greer)
  68. Subject: AppleEvents to Run Excel?
  69. Date: 28 Mar 1994 20:56:10 GMT
  70. Organization: The University of Texas at Dallas
  71.  
  72. I need to make an application to run Excel from a C program.  I've
  73. got the MS Excel SDK and the IM IAC books.  The former describes
  74. objects and event which act upon them, while the latter gives
  75. examples of how to use AppleEvents.  But these examples aren't
  76. much use helping me figure out how to do it with Excel, and the 
  77. Excel book has no examples at all.  Can someone point me in the
  78. right direction as to how to find how how to do what I need to do?
  79.  
  80. My code will get data from somewhere, and then create a .XLS file
  81. from the data.  To do the latter, the code will use AppleEvents to 
  82. run Excel to create a spreadsheet and enter the data there.
  83.  
  84. --
  85.  
  86. Dale Greer, greer@utdallas.edu
  87. "You can't just wake up and kiss the mirror and say 'I'm so purdy,
  88.  I think I'll run for Governor.'" - Texas Gov. Ann Richards
  89.  
  90.  
  91.  
  92. +++++++++++++++++++++++++++
  93.  
  94. >From jonpugh@netcom.com (Jon Pugh)
  95. Date: Tue, 29 Mar 1994 10:16:36 GMT
  96. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  97.  
  98. Dale M. Greer (greer@utdallas.edu) wrote:
  99. > I need to make an application to run Excel from a C program.  I've
  100. > got the MS Excel SDK and the IM IAC books.  The former describes
  101. > objects and event which act upon them, while the latter gives
  102. > examples of how to use AppleEvents.  But these examples aren't
  103. > much use helping me figure out how to do it with Excel, and the 
  104. > Excel book has no examples at all.  Can someone point me in the
  105. > right direction as to how to find how how to do what I need to do?
  106.  
  107. Let me just say that I know all about this stuff and I wouldn't take on
  108. that job for all the tea in China!
  109.  
  110. Of course, if I WERE stupid enough, I would simply implement the OSALoad &
  111. OSAExecute calls in my program so that I could run scripts and do all the
  112. Excel crap (and that's the part I wouldn't touch) in scripts.  That would
  113. save you lots of time.  Once you got it working (or should I say IF) you
  114. could save the script readonly for distribution as a program resource.
  115.  
  116. Excel is one of the worst scriptable apps in existence and very poorly
  117. documented, if you can even call it documentation.  Hopefully someone
  118. will take pity on you and provide example scripts.  You'll need them.
  119.  
  120. You'll need AppleScript for this too.  It's the OSA layer.
  121.  
  122. Jon
  123.  
  124. +++++++++++++++++++++++++++
  125.  
  126. >From greer@utdallas.edu (Dale M. Greer)
  127. Date: 29 Mar 1994 14:45:43 GMT
  128. Organization: The University of Texas at Dallas
  129.  
  130. Jon Pugh (jonpugh@netcom.com) wrote:
  131. > Dale M. Greer (greer@utdallas.edu) wrote:
  132. > > I need to make an application to run Excel from a C program.  I've
  133. > > got the MS Excel SDK and the IM IAC books.  The former describes
  134. > > objects and event which act upon them, while the latter gives
  135. > > examples of how to use AppleEvents.  But these examples aren't
  136. > > much use helping me figure out how to do it with Excel, and the 
  137. > > Excel book has no examples at all.  Can someone point me in the
  138. > > right direction as to how to find how how to do what I need to do?
  139.  
  140. > Let me just say that I know all about this stuff and I wouldn't take on
  141. > that job for all the tea in China!
  142.  
  143. > Of course, if I WERE stupid enough, I would simply implement the OSALoad &
  144. > OSAExecute calls in my program so that I could run scripts and do all the
  145. > Excel crap (and that's the part I wouldn't touch) in scripts.  That would
  146. > save you lots of time.  Once you got it working (or should I say IF) you
  147. > could save the script readonly for distribution as a program resource.
  148.  
  149. > Excel is one of the worst scriptable apps in existence and very poorly
  150. > documented, if you can even call it documentation.  Hopefully someone
  151. > will take pity on you and provide example scripts.  You'll need them.
  152.  
  153. > You'll need AppleScript for this too.  It's the OSA layer.
  154.  
  155. Thanks for the encouraging words!  ;-)
  156.  
  157. I was considering the tack you suggest, and was able to load and manipulate
  158. data into a spreadsheet from an AppleScript script.  But it just seems
  159. kind of ugly to have software components strewn all over the disk.  On
  160. the other hand, we've only got about 4 weeks to do this, so I might
  161. just do the quick and dirty first, and tidy it up later.
  162.  
  163. At least there is an example of how to load, compile and execute a
  164. script in the IM IAC book.  And I actually found an example of how to
  165. use Create Element, but in the Recording Apple Events section instead
  166. of the Creating and Sending Apple Events section where one might have
  167. hoped it would be.  Still no success there, but I think I'm converging
  168. on it.
  169.  
  170. --
  171.  
  172. Dale Greer, greer@utdallas.edu
  173. "You can't just wake up and kiss the mirror and say 'I'm so purdy,
  174.  I think I'll run for Governor.'" - Texas Gov. Ann Richards
  175.  
  176.  
  177.  
  178. +++++++++++++++++++++++++++
  179.  
  180. >From Carl R. Osterwald <carl_osterwald@nrel.gov>
  181. Date: Tue, 29 Mar 94 17:14:07 GMT
  182. Organization: National Renewable Energy Laboratory
  183.  
  184. In article <jonpughCnF8Jo.4DA@netcom.com> Jon Pugh, jonpugh@netcom.com
  185. writes:
  186. >Excel is one of the worst scriptable apps in existence and very poorly
  187. >documented, if you can even call it documentation.  Hopefully someone
  188. >will take pity on you and provide example scripts.  You'll need them.
  189.  
  190. Ugh -- X-barf.  This reminds me of the time I had to write a external
  191. function to allow a macro to do serial I/O.  The external was easy --
  192. integrating it into and debugging the macro was, shall we say, less than
  193. pleasant.  I was ready for a self-lobotomy about half way through.  Excel
  194. macro language -- absolutely the worst programming environment I have
  195. ever personally been exposed to.
  196.  
  197. +++++++++++++++++++++++++++
  198.  
  199. >From nagle@netcom.com (John Nagle)
  200. Date: Tue, 29 Mar 1994 18:40:12 GMT
  201. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  202.  
  203. jonpugh@netcom.com (Jon Pugh) writes:
  204. >Dale M. Greer (greer@utdallas.edu) wrote:
  205. >> I need to make an application to run Excel from a C program.  I've
  206. >> got the MS Excel SDK and the IM IAC books.  The former describes
  207. >> objects and event which act upon them, while the latter gives
  208. >> examples of how to use AppleEvents.  But these examples aren't
  209. >> much use helping me figure out how to do it with Excel, and the 
  210. >> Excel book has no examples at all.  Can someone point me in the
  211. >> right direction as to how to find how how to do what I need to do?
  212.  
  213. >Let me just say that I know all about this stuff and I wouldn't take on
  214. >that job for all the tea in China!
  215.  
  216.      I did the other side of this last year.  I had to write a program
  217. that received and processed the Table Suite events that Excel
  218. understands.  It's a pain, and it runs slow, but it can be done.
  219. It doesn't require AppleScript at all.  But I had to write a few thousand
  220. lines of code to do it.
  221.  
  222.      Here, for reference, is the AppleEvent which sets cell [1,1] to
  223. a value of 0.0:
  224.  
  225. AppleEvent received:
  226. AppleEvent: Class 'core'  ID 'setd'
  227.   List of 2 items:
  228.   [ 1]  Key: '----'  Type: 'obj '
  229.     Record of 4 items:
  230.     [ 1]  Key: 'want'  Type: 'type'
  231.     [ 1]  4 bytes: 
  232.     [ 1]    0x00:  0x6363656c  'ccel'
  233.  
  234.     [ 2]  Key: 'from'  Type: 'obj '
  235.       Record of 4 items:
  236.       [ 1]  Key: 'want'  Type: 'type'
  237.       [ 1]  4 bytes: 
  238.       [ 1]    0x00:  0x63726f77  'crow'
  239.  
  240.       [ 2]  Key: 'from'  Type: 'obj '
  241.         Record of 4 items:
  242.         [ 1]  Key: 'want'  Type: 'type'
  243.         [ 1]  4 bytes: 
  244.         [ 1]    0x00:  0x646f6375  'docu'
  245.  
  246.         [ 2]  Key: 'from'  Type: 'null'
  247.         [ 2]  0 bytes: 
  248.  
  249.         [ 3]  Key: 'form'  Type: 'enum'
  250.         [ 3]  4 bytes: 
  251.         [ 3]    0x00:  0x6e616d65  'name'
  252.  
  253.         [ 4]  Key: 'seld'  Type: 'TEXT'
  254.         [ 4]  Text (9 chars):
  255.         [ 4]  "Link file"
  256.       [ 3]  Key: 'form'  Type: 'enum'
  257.       [ 3]  4 bytes: 
  258.       [ 3]    0x00:  0x696e6478  'indx'
  259.  
  260.       [ 4]  Key: 'seld'  Type: 'long'
  261.       [ 4]  Text (1 chars):
  262.       [ 4]  "1"
  263.     [ 3]  Key: 'form'  Type: 'enum'
  264.     [ 3]  4 bytes: 
  265.     [ 3]    0x00:  0x696e6478  'indx'
  266.  
  267.     [ 4]  Key: 'seld'  Type: 'long'
  268.     [ 4]  Text (1 chars):
  269.     [ 4]  "1"
  270.   [ 2]  Key: 'data'  Type: 'TEXT'
  271.   [ 2]  Text (5 chars):
  272.   [ 2]  "0.000"
  273.  
  274.  
  275.                         John Nagle
  276.  
  277. +++++++++++++++++++++++++++
  278.  
  279. >From jwbaxter@olympus.net (John W. Baxter)
  280. Date: Tue, 29 Mar 1994 11:22:30 -0800
  281. Organization: Internet for the Olympic Peninsula
  282.  
  283. In article <jonpughCnF8Jo.4DA@netcom.com>, jonpugh@netcom.com (Jon Pugh)
  284. wrote:
  285.  
  286. > Excel is one of the worst scriptable apps in existence and very poorly
  287. > documented, if you can even call it documentation.  Hopefully someone
  288. > will take pity on you and provide example scripts.  You'll need them.
  289.  
  290. Well, Excel was also one of the earliest scriptable applications, and some
  291. things changed after it came out (like Apple appropriating the word
  292. "text").  Excel even came before the change in Frontier's construction of
  293. object specifiers between Frontier 1.0 (weird, and I never fully "got" it)
  294. and Frontier 2.0 (quite simple), so, unlike the FileMaker folks, the Excel
  295. developers didn't even have Frontier to use for testing.
  296.  
  297. So while Excel has problems, it at least has a decent excuse.
  298.  
  299. -- 
  300. John Baxter    Port Ludlow, WA, USA  [West shore, Puget Sound]
  301.    jwbaxter@pt.olympus.net
  302.  
  303. +++++++++++++++++++++++++++
  304.  
  305. >From Manuel Veloso <veloso@netcom.com>
  306. Date: Wed, 30 Mar 1994 06:41:04 GMT
  307. Organization: Ibex Productions
  308.  
  309. In article <jonpughCnF8Jo.4DA@netcom.com> Jon Pugh, jonpugh@netcom.com writes:
  310. >Excel is one of the worst scriptable apps in existence and very poorly
  311. >documented, if you can even call it documentation.  Hopefully someone
  312. >will take pity on you and provide example scripts.  You'll need them.
  313.  
  314. That's really true. However, on AOL there's some documentation written
  315. by one of the Excel guys about its applescript/ae support, and it works.
  316. I was always under the impression you needed the "R1C1" format,
  317. but Excel actually supports the "row 1 of column 5" specifier.
  318.  
  319. I really don't quite know where to post this, but if people want it
  320. I can send them a copy.
  321.  
  322. +++++++++++++++++++++++++++
  323.  
  324. >From isis@netcom.com (Mike Cohen)
  325. Date: Wed, 30 Mar 1994 18:34:42 GMT
  326. Organization: ISIS International
  327.  
  328. Carl R. Osterwald <carl_osterwald@nrel.gov> writes:
  329.  
  330. >In article <jonpughCnF8Jo.4DA@netcom.com> Jon Pugh, jonpugh@netcom.com
  331. >writes:
  332. >>Excel is one of the worst scriptable apps in existence and very poorly
  333. >>documented, if you can even call it documentation.  Hopefully someone
  334. >>will take pity on you and provide example scripts.  You'll need them.
  335.  
  336. >Ugh -- X-barf.  This reminds me of the time I had to write a external
  337. >function to allow a macro to do serial I/O.  The external was easy --
  338. >integrating it into and debugging the macro was, shall we say, less than
  339. >pleasant.  I was ready for a self-lobotomy about half way through.  Excel
  340. >macro language -- absolutely the worst programming environment I have
  341. >ever personally been exposed to.
  342.  
  343. There's one even worse - FoxPro (which I've unfortunately been doing a lot of
  344. work with lately). Is it a coincidence that both are from Microsoft?
  345. -- 
  346. Mike Cohen - isis@netcom.com
  347. NewtonMail, eWorld: MikeC / ALink: D6734 / AOL: MikeC20
  348.  
  349. +++++++++++++++++++++++++++
  350.  
  351. >From Carl R. Osterwald <carl_osterwald@nrel.gov>
  352. Date: Wed, 30 Mar 94 22:58:30 GMT
  353. Organization: National Renewable Energy Laboratory
  354.  
  355. In article <isisCnHq9u.2H8@netcom.com> Mike Cohen, isis@netcom.com writes:
  356. >There's one even worse - FoxPro (which I've unfortunately been doing a
  357. lot of
  358. >work with lately).
  359.  
  360. Well, I hope I don't have to find out! 
  361.  
  362. >Is it a coincidence that both are from Microsoft?
  363.  
  364. Most likely not.
  365.  
  366. +++++++++++++++++++++++++++
  367.  
  368. >From jwbaxter@olympus.net (John W. Baxter)
  369. Date: Wed, 30 Mar 1994 09:41:47 -0800
  370. Organization: Internet for the Olympic Peninsula
  371.  
  372. As an experiment, I have added a source file to a toy application in which
  373. I am experimenting with OSA issues.
  374.  
  375. The addition implements two ways to cause Excel to launch (if it isn't
  376. running), open a particular toy spreadsheet (if it isn't open), and set
  377. cell 1 of row 1 of that spreadsheet to a value (ie, set the formula of the
  378. cell to a formula which produces the value).
  379.  
  380. The two ways:  1--compile and execute an OSA script (I used AppleScript);
  381. 2--use toolbox (LaunchApplication), AE Manager, and other routines to
  382. launch Excel and send the appropriate events.
  383.  
  384. It took around a half hour (half of which was reminding myself of toolbox
  385. details) to get the OSA script method running...in the course of which I
  386. learned a detail about Excel scripting [below].  The rest of the evening
  387. (not full time) got the other method to the point of launching Excel (if
  388. necessary), and opening the document.  Now I need to go back and check
  389. whether the document is open, and set the cell formula.
  390.  
  391. I expect to post the resulting source code to the server at
  392. gaea.kgs.ukans.edu as sampleware when it's ready.
  393.  
  394. Go the OSA route:  it's simpler and less painful, provided you know your
  395. execution environment HAS a scripting environment (AppleScript or Frontier)
  396. running.
  397.  
  398. - --------Excel Note---------
  399. If you send Excel an open event for a spreadsheet which is already open and
  400. modified, Excel demands to come to the front so it can ask the user whether
  401. to revert the document.  Excel does this even if the open event is sent
  402. with the kAENeverInteract flag.
  403.  
  404. So:  in scripts (or the other way), check for the document being open
  405. first.
  406. -- 
  407. John Baxter    Port Ludlow, WA, USA  [West shore, Puget Sound]
  408.    jwbaxter@pt.olympus.net
  409.  
  410. ---------------------------
  411.  
  412. >From Chris Russo <chris@sonicsys.com>
  413. Subject: Finding the High Bit
  414. Date: 24 Mar 1994 17:58:53 GMT
  415. Organization: Sonic Systems, Inc.
  416.  
  417. Hi all,
  418.  
  419.     I need to find the high bit in a long as quickly as possible.
  420. 1. I could brute-force shift left till negative.
  421. 2. I could brute-force shift right till zero.
  422. 3. I could create a 256 byte lookup table and do 1-4 lookups.
  423. 4. Someone on the net could show me some neat new algorithm, like
  424.     (number)>>(number>>1) ^ number = solution.  There HAS to be
  425.      something like that out there somewhere. :-)
  426.  
  427. Thanks in advance,
  428.  
  429. Chris Russo
  430.  
  431. Note new address -> chris@sonicsys.com
  432.  
  433. +++++++++++++++++++++++++++
  434.  
  435. >From resnick@cogsci.uiuc.edu (Pete Resnick)
  436. Date: Thu, 24 Mar 1994 12:28:48 -0600
  437. Organization: University of Illinois at Urbana-Champaign
  438.  
  439. In article <2mskct$50a@gaia.internex.net>, Chris Russo
  440. <chris@sonicsys.com> wrote:
  441.  
  442. >        I need to find the high bit in a long as quickly as possible.
  443.  
  444. If you don't care about doing it in C and you can depend on a 68020 or better:
  445.  
  446. #pragma parameter __D0 FindFirstOne(__D0)
  447. long FindFirstOne(long value) = {0xEDCO,0x0000};
  448.  
  449. Otherwise, I think the brute force shift right is best if you put the
  450. value into an unsigned long first:
  451.  
  452.     myUnsigned = myLong;
  453.     bitCount = 0;
  454.     while(myUnsigned != 0L) {
  455.         ++bitCount;
  456.         myUnsigned >>= 1;
  457.     }
  458.  
  459. pr
  460. -- 
  461. Pete Resnick        (...so what is a mojo, and why would one be rising?)
  462. Graduate assistant - Philosophy Department, Gregory Hall, UIUC
  463. System manager - Cognitive Science Group, Beckman Institute, UIUC
  464. Internet: resnick@cogsci.uiuc.edu
  465.  
  466. +++++++++++++++++++++++++++
  467.  
  468. >From platypus@cirrus.som.cwru.edu (Gary Kacmarcik)
  469. Date: 25 Mar 1994 16:43:12 GMT
  470. Organization: Case Western Reserve University, Cleveland, Ohio (USA)
  471.  
  472.  
  473. In article <2mskct$50a@gaia.internex.net> Chris Russo <chris@sonicsys.com> writes:
  474.  
  475. >  I need to find the high bit in a long as quickly as possible.
  476. >  1. I could brute-force shift left till negative.
  477. >  2. I could brute-force shift right till zero.
  478. >  3. I could create a 256 byte lookup table and do 1-4 lookups.
  479. >  4. Someone on the net could show me some neat new algorithm, like
  480. >      (number)>>(number>>1) ^ number = solution.  There HAS to be
  481. >      something like that out there somewhere. :-)
  482.  
  483. well, i'm not sure if this is of value to you, but if you can assume
  484. that you're on a PowerPC-based Mac, you can use the cntlzw (Count
  485. Leading Zeros Word) instruction.
  486.  
  487. the syntax is:
  488.    cntlzw[.]    rA,rS
  489.  
  490. and it returns (in rA) the number of leading zeros (0-32) in the value
  491. stored in rS.  if you append the '.', the condition codes will be updated
  492. so you can quickly tell if the value in rA is zero (meaning the high-bit
  493. of rS is set).
  494.  
  495.  
  496. there is also a doubleword version (cntlzd) that will work on
  497. 64-bit quantities, but it exists only on 64-bit PowerPC implementations,
  498. eg: the 620.
  499.  
  500.  
  501. -gary j kacmarcik
  502. platypus@curie.ces.cwru.edu
  503.  
  504. +++++++++++++++++++++++++++
  505.  
  506. >From sigurasg@rhi.hi.is (Sigurdur Asgeirsson)
  507. Date: 25 Mar 1994 20:56:45 GMT
  508. Organization: University of Iceland
  509.  
  510. In <PLATYPUS.94Mar25114312@cirrus.som.cwru.edu> platypus@cirrus.som.cwru.edu (Gary Kacmarcik) writes:
  511.  
  512.  
  513. >In article <2mskct$50a@gaia.internex.net> Chris Russo <chris@sonicsys.com> writes:
  514.  
  515. >>  I need to find the high bit in a long as quickly as possible.
  516. >>  1. I could brute-force shift left till negative.
  517. >>  2. I could brute-force shift right till zero.
  518. >>  3. I could create a 256 byte lookup table and do 1-4 lookups.
  519. >>  4. Someone on the net could show me some neat new algorithm, like
  520. >>      (number)>>(number>>1) ^ number = solution.  There HAS to be
  521. >>      something like that out there somewhere. :-)
  522.  
  523. >well, i'm not sure if this is of value to you, but if you can assume
  524. >that you're on a PowerPC-based Mac, you can use the cntlzw (Count
  525. >Leading Zeros Word) instruction.
  526.  
  527. [snip]
  528.  
  529.   On the >=68020 there is a similar BFFO (bitfield find first one)
  530. instruction that will find the first 1 bit in a bit field (register if
  531. you will).
  532. -- 
  533. Sigurdur Asgeirsson    | "Well you know, C isn't that hard, void (*(*f[])())()
  534. Kambasel 26            | for instance declares f as an array of unspecified 
  535. 109 Reykjavik, Iceland | size, of pointers to functions that return pointers to
  536. sigurasg@rhi.hi.is     | functions that return void... I think"
  537.  
  538. +++++++++++++++++++++++++++
  539.  
  540. >From tzs@u.washington.edu (Tim Smith)
  541. Date: 26 Mar 1994 08:53:28 GMT
  542. Organization: University of Washington School of Law, Class of '95
  543.  
  544. Chris Russo  <chris@sonicsys.com> wrote:
  545. >Hi all,
  546. >
  547. >    I need to find the high bit in a long as quickly as possible.
  548. >1. I could brute-force shift left till negative.
  549. >2. I could brute-force shift right till zero.
  550. >3. I could create a 256 byte lookup table and do 1-4 lookups.
  551. >4. Someone on the net could show me some neat new algorithm, like
  552. >    (number)>>(number>>1) ^ number = solution.  There HAS to be
  553. >     something like that out there somewhere. :-)
  554. >
  555. >Thanks in advance,
  556.  
  557. This *almost* works (rounding problems--maybe they can be fixed), and
  558. is reasonably portable, and might even be fast, if your compiler can
  559. inline log:
  560.  
  561.     int    FindFirstBit( unsigned long arg )
  562.     {
  563.         return log(arg)/log(2);
  564.     }
  565.  
  566. This can compile to something like this:
  567.  
  568.     00000000: 4E56 0000          LINK      A6,#$0000
  569.     00000004: F22E 4014 0008     FLOGN.L   arg(A6),FP0
  570.     0000000A: F23C 5094 0002     FLOGN.W   #$0002,FP1
  571.     00000010: F200 0420          FDIV      FP1,FP0
  572.     00000014: F200 0003          FINTRZ    FP0
  573.     00000018: F200 7000          FMOVE.W   FP0,D0
  574.     0000001C: 4E5E               UNLK      A6
  575.     0000001E: 4E75               RTS
  576.  
  577. --Tim Smith
  578.  
  579. +++++++++++++++++++++++++++
  580.  
  581. >From nagle@netcom.com (John Nagle)
  582. Date: Sat, 26 Mar 1994 18:23:40 GMT
  583. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  584.  
  585. >In article <2mskct$50a@gaia.internex.net> Chris Russo <chris@sonicsys.com> writes:
  586. >>  I need to find the high bit in a long as quickly as possible.
  587.  
  588.       Use a BFFFO (Find First One in Bit Field) instruction.  This requires
  589. a 68020 or above.  Check the timing table for your CPU, though; this may
  590. turn out to be slow for large shifts on some CPUs.  The right way to
  591. implement an instruction like this is by using the floating point 
  592. normalizer, but this instruction isn't an FPU instruction, so it probably
  593. doesn't. 
  594.  
  595. Alternatively, though, you could write something like
  596.  
  597.       int ffb(unsigned long n)
  598.       {
  599.       if (n & 0xffff0000)
  600.       {    if (n & 0xff000000) return(tab[n>>24]+24);
  601.         else return(tab[(n>>16)&0xff]+16);
  602.       }
  603.       if (n & 0xff00) return(tab[(n>>8)&0xff]+8);
  604.       else return(tab[n]);
  605.       }
  606.  
  607. using a pre-built table.
  608.  
  609. Shifts of multiples of 8 bits are fast on 68K CPUs, so this is reasonably
  610. efficient.  But look at what comes out of the compiler, and make sure
  611. the compiler is smart enough to do this without pushing operands on the
  612. stack.
  613.  
  614.     Are you doing cryptanalysis, chess, or emulation of some nonstandard
  615. FPU?
  616.  
  617.                     John Nagle
  618.  
  619. +++++++++++++++++++++++++++
  620.  
  621. >From tom@dtint.dtint.com (Thomas R. Kimpton)
  622. Date: Tue, 29 Mar 94 00:16:24 GMT
  623. Organization: Digital Technology, International
  624.  
  625. In article <2mskct$50a@gaia.internex.net> Chris Russo <chris@sonicsys.com> writes:
  626. >Hi all,
  627. >
  628. >    I need to find the high bit in a long as quickly as possible.
  629. >1. I could brute-force shift left till negative.
  630. >2. I could brute-force shift right till zero.
  631. >3. I could create a 256 byte lookup table and do 1-4 lookups.
  632. >4. Someone on the net could show me some neat new algorithm, like
  633. >    (number)>>(number>>1) ^ number = solution.  There HAS to be
  634. >     something like that out there somewhere. :-)
  635. >
  636. >Thanks in advance,
  637. >
  638. >Chris Russo
  639. >
  640. >Note new address -> chris@sonicsys.com
  641.  
  642.  
  643. long
  644. findHighBit(register unsigned long n)
  645. {
  646. register long bitnum = 0;
  647.  
  648.     if(n & 0xffff0000){
  649.         bitnum += 16;
  650.         n >>= 16;
  651.     }
  652.     if(n & 0xff00){
  653.         bitnum += 8;
  654.         n >>= 8;
  655.     }
  656.     if(n & 0xf0){
  657.         bitnum += 4;
  658.         n >>= 4;
  659.     }
  660.     if(n & 0xc){
  661.         bitnum += 2;
  662.         n >>= 2;
  663.     }
  664.     if(n & 0x2){
  665.         bitnum += 1;
  666.     }
  667.  
  668. }
  669.  
  670. You'd want to check to see if 'n' is zero before calling this, though.
  671.  
  672. Tom.
  673.  
  674. -- 
  675. - -
  676. Tom Kimpton                            tom@dtint.dtint.com
  677. Digital Technology Int.                (801)226-2984    
  678. 500 W. 1200 South, Orem UT, 84057      FAX (801) 226-8438
  679.  
  680. +++++++++++++++++++++++++++
  681.  
  682. >From saseew@router.unx.sas.com (Ed Walker)
  683. Date: Wed, 30 Mar 1994 14:21:47 GMT
  684. Organization: SAS Institute Inc.
  685.  
  686.  
  687. In article <1994Mar29.001624.845@dtint.dtint.com>, tom@dtint.dtint.com (Thomas R. Kimpton) writes:
  688. >In article <2mskct$50a@gaia.internex.net> Chris Russo <chris@sonicsys.com> writes:
  689. >>Hi all,
  690. >>
  691. >>      I need to find the high bit in a long as quickly as possible.
  692. >>1. I could brute-force shift left till negative.
  693. >>2. I could brute-force shift right till zero.
  694. >>3. I could create a 256 byte lookup table and do 1-4 lookups.
  695. >>4. Someone on the net could show me some neat new algorithm, like
  696. >>    (number)>>(number>>1) ^ number = solution.  There HAS to be
  697. >>     something like that out there somewhere. :-)
  698. >>
  699. >>Thanks in advance,
  700. >>
  701. >>Chris Russo
  702. >>
  703. >>Note new address -> chris@sonicsys.com
  704. >
  705. >
  706. >long
  707. >findHighBit(register unsigned long n)
  708. >{
  709. >register long bitnum = 0;
  710. >
  711. >       if(n & 0xffff0000){
  712. >               bitnum += 16;
  713. >               n >>= 16;
  714. >       }
  715. >       if(n & 0xff00){
  716. >               bitnum += 8;
  717. >               n >>= 8;
  718. >       }
  719. >       if(n & 0xf0){
  720. >               bitnum += 4;
  721. >               n >>= 4;
  722. >       }
  723. >       if(n & 0xc){
  724. >               bitnum += 2;
  725. >               n >>= 2;
  726. >       }
  727. >       if(n & 0x2){
  728. >               bitnum += 1;
  729.                 n >>= 1;            /* Added line */
  730. >       }
  731.  
  732.         if ( n ) bitnum += 1;       /* Added line */
  733.  
  734.         return bitnum;              /* Added line */
  735.  
  736. >
  737. >}
  738. >
  739. >You'd want to check to see if 'n' is zero before calling this, though.
  740. >
  741. >Tom.
  742. >
  743.  
  744. Good job Tom! I suggest adding the indicated lines above. Your method
  745. numbers the bits from 0 to 31 (right to left) while the additions number
  746. them 1-32 (r-l) and returns zero if none are on.
  747.  
  748. Ed                                               >'<                   
  749.                                                 (o o)                  
  750. +---------------------------------------------o0o-U-o0o---------------+
  751. | EdWalker@aol.com    (home)     | It is impossible to make anything  |
  752. | saseew@sas.mvs.com  (work)     | foolproof; fools are so ingenious. |
  753. +---------------------------------------------oo0---0oo---------------+
  754.  
  755.  
  756.  
  757.  
  758.  
  759. ---------------------------
  760.  
  761. >From blalock@opus.hpl.hp.com (Travis Blalock)
  762. Subject: Generating Activate Events
  763. Date: Tue, 29 Mar 1994 18:59:08 GMT
  764. Organization: HP Labs, High Speed Electronics Dept., Palo Alto, CA
  765.  
  766.  
  767. ** Warning UI violations in progress **
  768.  
  769. I am looking at ways of generating activate/deactivate events from a
  770. system extension.  Activate events are not listed in IM as one of the
  771. events I can post with PostEvent or PPostEvent.  Is this a 'real'
  772. limitation or a 'you shouldn't do this' limitiation?  I will just try it
  773. as soon as I get a chance, but I thought I would test the waters here. 
  774. I do not want to use SelectWindow because I don't want the window to
  775. come to the top. 
  776.  
  777. Any advice (other than don't do that :-)) appreciated.
  778.  
  779. Travis
  780. blalock@hpl.hp.com
  781.  
  782.  
  783. +++++++++++++++++++++++++++
  784.  
  785. >From d88-jwa@hemul.nada.kth.se (Jon Wdtte)
  786. Date: 29 Mar 1994 20:29:36 GMT
  787. Organization: The Royal Institute of Technology
  788.  
  789. In <14290001@opus.hpl.hp.com> blalock@opus.hpl.hp.com (Travis Blalock) writes:
  790.  
  791. >I am looking at ways of generating activate/deactivate events from a
  792. >system extension.  Activate events are not listed in IM as one of the
  793.  
  794. LMSetCurActivate() and LMSetCurDeactive()
  795.  
  796. However, if there's already such an event pending, you're out
  797. of luck.
  798. -- 
  799.  -- Jon W{tte, h+@nada.kth.se, Mac Hacker Deluxe --
  800.  Santa's Reindeer: Fry 1 minced onion, add 1 lb thinly sliced frozen reindeer,
  801.  fry to color, add 1/2 lb mushrooms and 1/2 lb sour cream, simmer 5 mins, add
  802.  soy to taste, salt, pepper. Serve with boiled rice and tart jelly.
  803.  
  804. +++++++++++++++++++++++++++
  805.  
  806. >From walkerj@math.scarolina.edu (Jim Walker)
  807. Date: 29 Mar 1994 21:20:47 GMT
  808. Organization: University of South Carolina - Columbia - Computer Science
  809.  
  810.  
  811. Activate/deactivate are not supposed to be in the event queue, hence you are
  812. not supposed to create them with PostEvent/PPostEvent.  However, for certain
  813. purposes having to do with scrap conversion, I have found it useful to
  814. create activate events with PPostEvent, and have not seen any obvious ill
  815. effects.  I don't think I ever tried it for a window that's not the front
  816. window, though.  As always, "your mileage may vary."
  817. --
  818.  
  819.  -- Jim Walker  USC Dept. of Math.  walkerj@math.scarolina.edu
  820.  
  821. ---------------------------
  822.  
  823. >From Willie Rauchwerger <willie-rauchwerger@uokhsc.edu>
  824. Subject: I got my PPC PDS card...
  825. Date: 30 Mar 1994 15:26:21 GMT
  826. Organization: OU Health Sciences Center
  827.  
  828. Well, I got my PPC PDS card for my Quadra 700 yesterday. I know
  829. not many people (if any) have posted their experiences with the
  830. card, and I thought I might give a bit of an overview.
  831.  
  832. In the box, their are three major items:
  833.  
  834. - the PDS cad
  835. - a 610-PDS adaptor for the card
  836. - System 7.1.2
  837.  
  838. Installing it was pretty easy - pop open the Quadra, decide what 
  839. NuBus card I was going to lose, and put the card in the PDS slot.
  840.  
  841. Then, boot from the install disk, and let it upgrade your system
  842. to System 7.1.2. (Now I did this on my portable drive I bring to
  843. work, and I can verify that System 7.1.2 does boot for 68k machines
  844. as well. As I booted off it to type this post...)
  845.  
  846. System 7.1.2 is basically a minor rev to support PowerPC. Very, very
  847. little is native as far as control panels, extensions, the finder,
  848. etc. As a matter of fact, the finder is completely emulated, and
  849. every control panel and extension I looked at (I may have missed a
  850. few) were 68k binaries. No code fragments to be found.
  851.  
  852. Except in the "PowerPC Upgrade Card Enabler"...it is a 420k file,
  853. that some interesting things inside of it. In the "fovr" resource,
  854. I assume I found Native QuickDraw (NQD), and the new native Memory
  855. Manager...also I found maybe a native on-board video display driver?
  856. I am not sure whether or not it was replacing the one in the
  857. system or not.
  858.  
  859. Oh, yeah, the QuickTime native codecs are in the QuickTime power
  860. plug...yes, it is very fast...
  861.  
  862. I digress...after you perform the update, reboot. My Quadra booted
  863. into the 68k enviroment, since I hadn't a chance to set the control
  864. panel to reboot from the PDS card.
  865.  
  866. Set the control panel and shutdown. Restart doesn't cut it - anytime
  867. you switch between the PDS and the 040, you have to shutdown. I
  868. assume some pram thing...
  869.  
  870. Power on. A really killer startup sound. And it isn't the new
  871. Stanley Jordan one, nor is it the old Quadra one, or the AV one...
  872. I think this one is great...
  873.  
  874. OK, I know, how did it work? Well, about as I expected in emulation.
  875. I ran my normal software and it was a bit slower than my 040. However,
  876. my heavily reliant on QuickDraw things, (some of my own software
  877. that pegs CopyBits, etc. and others) were very fast. ClarisWorks for
  878. 68k seemed no different than on the 040.
  879.  
  880. I found one problem...Think C 6.01 won't compile...not that it is
  881. a big issue for me...I jumped to Metrowerks for most of my stuff
  882. now anyway.
  883.  
  884. Metrowerks C++ for PPC was great. I had worked on getting my
  885. software ready for it, and I just love it. It is really repsonsive,
  886. and compiles very, very fast. A project that was taking approx
  887. 2:00 min to compile under Think on a Q800, 1:15 min under
  888. Metrowerks on a Q800, took 28 secs on Metrowerks for PPC on my
  889. upgrade card.
  890.  
  891. Wow. 
  892.  
  893. I was also concerned about how fast it would be accessing memory
  894. that was on the main board, so I wrote some stuff to work with
  895. 8mb pointer, and the PPC card was still about 3 times faster than 
  896. with my Q700 with the 040 running.
  897.  
  898. I know this is a bit rambling, but I didn't know what everyone
  899. would be interested in...I will try to answer any questions anyone
  900. has about it.
  901.  
  902. Bottom line: It seemed almost as fast as the Q700 in emulation, and
  903. was 2-3 faster in native software.
  904.  
  905. Well, worth the $650 bucks...
  906.  
  907. - -----------------------------------------------------------------
  908. Willie Rauchwerger         AppleLink: Willie
  909. Telemedicine Software Guy  Internet:  willie-rauchwerger@uokhsc.edu
  910. OU Health Sciences Center
  911.  
  912. ---------------------------
  913.  
  914. >From kpmiller@netcom.com (Kent Miller)
  915. Subject: Moving an editText area in a Modal Dialog Q
  916. Date: Mon, 28 Mar 1994 05:01:46 GMT
  917. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  918.  
  919.  
  920. Can anyone tell me how to move an editText area in a modal dialog?
  921.  
  922. A little background:  I am writing a code resource to put up a dialog for
  923. user input.  Since I didn't want to go to the hassle of making sure that
  924. all the resources got moved with the code resource, I decided to use 
  925. NewDialog instead of making dialog resources.  
  926.  
  927. To have an item list, I made one in resedit, then copied the hex and
  928. put it with the code.  When I want to use it, I just make a new handle
  929. and copy the list data in it, then pass that to NewDialog.
  930.  
  931. This works pretty well and I can move buttons around to my hearts content
  932. (after I figured out that you had to call SetDItem and MoveControl to do it.)
  933.  
  934. But, now I need to move the editText area.
  935.  
  936. Any help would be appreciated.
  937.  
  938. Kent
  939.  
  940.  
  941. -- 
  942. ____________________________________________________________
  943. kpmiller@netcom.com | Macintosh Software Engineer
  944. ____________________________________________________________
  945.  
  946. +++++++++++++++++++++++++++
  947.  
  948. >From smoke@well.sf.ca.us (Nicholas Jackiw)
  949. Date: 29 Mar 1994 17:59:42 GMT
  950. Organization: The Whole Earth 'Lectronic Link, Sausalito, CA
  951.  
  952. In article <kpmillerCnCzAz.2Dx@netcom.com>,
  953. Kent Miller <kpmiller@netcom.com> wrote:
  954. >
  955. >Can anyone tell me how to move an editText area in a modal dialog?
  956. >
  957. >Kent
  958.  
  959. If you need to move them only once (i. e. "to final position"),
  960. simply use SetDItem(theDlog, theItem, ... theRect), where theRect
  961. is computed to be the desired location of the editText item in
  962. dialog-local coordinates. Do this before you ShowWindow(theDlog)
  963. and things look dandy.
  964.  
  965. If you need to move an edit text item while the dialog is showing,
  966. it's more complicated. If the edit text happens to be the one
  967. currently in use by the user (not necessarily the case if there
  968. are >1 edit text items), you need to treat DialogPeek(theDlog)^.textH
  969. as an active TEdit control and update its viewRect and destRect.
  970. (The user is currently using edit text item DialogPeek(theDlog)^.editField+1.)
  971.  
  972. A more elegant approach, in this second case, would
  973. be to use multiple edit text boxes, one at Location 1 and one at
  974. Location 2, etc. Use HideDItem and ShowDItem to determine which one
  975. is visible at any given time.
  976.  
  977. Is this the sort of info you wanted?
  978.  
  979.  
  980. -- 
  981.                               --- * ---
  982. Nick Jackiw                  Smoke@well.sf.ca.us   | Jackiw@cs.swarthmore.edu
  983. Key Curriculum Press, Inc.   Applelink:KEY.EDUSOFT | (510) 548-2304
  984.                               --- * ---
  985.  
  986. +++++++++++++++++++++++++++
  987.  
  988. >From leblonk@netcom.com (Marcel Blonk)
  989. Date: Tue, 29 Mar 1994 22:10:06 GMT
  990. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  991.  
  992. Kent Miller (kpmiller@netcom.com) wrote:
  993.  
  994. : Can anyone tell me how to move an editText area in a modal dialog?
  995.  
  996. Here's a copy of the method I use to move dialog items:
  997.  
  998.  
  999. void CDialog::SetDRect( short item, Rect *r)
  1000. {
  1001. short       type;
  1002. Handle      h;
  1003. Rect        rr;
  1004.  
  1005.     GetDItem( window, item, &type, &h, &rr);
  1006.     SetDItem( window, item, type, h, r);
  1007.     type &= ~itemDisable;
  1008.     if ( (type & ~0x3) == ctrlItem )
  1009.     {   MoveControl( (ControlHandle)h, r->left, r->top);
  1010.         SizeControl( (ControlHandle)h, r->right - r->left, r->bottom - 
  1011. r->top);
  1012.     }
  1013.     else if ( type == editText )
  1014.     {   if ( item == (((DialogPeek)window)->editField + 1) )
  1015.         {   if ( ((DialogPeek)window)->textH != nil )
  1016.             {   OffsetRect( &(*((DialogPeek)window)->textH)->destRect,
  1017.                             r->left - rr.left, r->top - rr.top);
  1018.                 OffsetRect( &(*((DialogPeek)window)->textH)->viewRect,
  1019.                             r->left - rr.left, r->top - rr.top);
  1020.                 OffsetRect( &(*((DialogPeek)window)->textH)->selRect,
  1021.                             r->left - rr.left, r->top - rr.top);
  1022.             }
  1023.         }
  1024.     }
  1025. }
  1026.  
  1027. Hope this helps,
  1028.  
  1029. Marcel
  1030.  
  1031.  
  1032. ---------------------------
  1033.  
  1034. >From bcburke@violet.berkeley.edu (Brian C. Burke)
  1035. Subject: PPC Development and MPW Tools
  1036. Date: Thu, 24 Mar 1994 23:02:09 -0800
  1037. Organization: UC Berkeley
  1038.  
  1039.  Will any of the available PowerPC development environments allow
  1040. development and execution of (MPW like) tools in PowerPC native code.
  1041.  
  1042. Brian
  1043.  
  1044. +++++++++++++++++++++++++++
  1045.  
  1046. >From peirce@outpost.SF-Bay.org (Michael Peirce)
  1047. Date: Mon, 28 Mar 94 10:17:35 PST
  1048. Organization: Peirce Software, Inc.
  1049.  
  1050.  
  1051. In article <bcburke-240394230209@windsurfer.hip.berkeley.edu> (comp.sys.mac.programmer), bcburke@violet.berkeley.edu (Brian C. Burke) writes:
  1052. >  Will any of the available PowerPC development environments allow
  1053. > development and execution of (MPW like) tools in PowerPC native code.
  1054.  
  1055. How about MPW?  Apple has said they will be shipping some native 
  1056. MPW tools real-soon-now.  I'm not holding my breath, but it should
  1057. take them too long to do this for some of the more important tools.
  1058.  
  1059.  
  1060. -- Michael Peirce        -- peirce@outpost.sf-bay.org
  1061. -- Peirce Software, Inc. -- 719 Hibiscus Place, Suite 301
  1062. --                       -- San Jose, California USA 95117
  1063. -- Makers of: Smoothie & -- voice: +1.408.244.6554 fax: +1.408.244.6882
  1064. --    Peirce Print Tools -- AppleLink: peirce & America Online: AFC Peirce
  1065.  
  1066. +++++++++++++++++++++++++++
  1067.  
  1068. >From langsys@pcthree.com (Language Systems)
  1069. Date: Tue, 29 Mar 1994 14:23:30 GMT
  1070. Organization: PC Three, Inc.
  1071.  
  1072. peirce@outpost.SF-Bay.org (Michael Peirce) writes:
  1073.  
  1074.  
  1075. >In article <bcburke-240394230209@windsurfer.hip.berkeley.edu> (comp.sys.mac.programmer), bcburke@violet.berkeley.edu (Brian C. Burke) writes:
  1076. >>  Will any of the available PowerPC development environments allow
  1077. >> development and execution of (MPW like) tools in PowerPC native code.
  1078.  
  1079. >How about MPW?  Apple has said they will be shipping some native 
  1080. >MPW tools real-soon-now.  I'm not holding my breath, but it should
  1081. >take them too long to do this for some of the more important tools.
  1082.  
  1083. Language Systems will soon be shipping 2 development tools for the
  1084. PowerMacs.
  1085.  
  1086. LS Pascal/PPC
  1087. LS FORTRAN/PPC
  1088.  
  1089. Both run with MPW and will be native on the PowerMac.
  1090.  
  1091. Lisa Jones
  1092. Language Systems
  1093. 800-252-6479 (for more info)
  1094.  
  1095. +++++++++++++++++++++++++++
  1096.  
  1097. >From Manuel Veloso <veloso@netcom.com>
  1098. Date: Wed, 30 Mar 1994 06:35:07 GMT
  1099. Organization: Ibex Productions
  1100.  
  1101. In article <CNjbKKKX.ronpu8@outpost.SF-Bay.org> Michael Peirce,
  1102. peirce@outpost.SF-Bay.org writes:
  1103. >How about MPW?  Apple has said they will be shipping some native 
  1104. >MPW tools real-soon-now.  I'm not holding my breath, but it should
  1105. >take them too long to do this for some of the more important tools.
  1106.  
  1107. Last I heard, MPW was going to be native near the end of the year. This
  1108. is from a friend who called & asked APDA about it, since he was also
  1109. asking about his Mac on RISC disc upgrade.
  1110.  
  1111. This is kind of ridiculous at first glance, but a few weeks ago I was looking
  1112. at the funky stuff MPW had to do for tool support, and well, I understand
  1113. why converting that might take a while. Then again, there's probably an alpha
  1114. floating around out there somewhere, since Apple's never been shy about
  1115. keeping tools in the alpha/beta state for a while.
  1116.  
  1117. ---------------------------
  1118.  
  1119. >From Dave.Falkenburg%f1.n3641.z1@psybbs.durham.nc.us (Dave Falkenburg)
  1120. Subject: PowerMac Programming
  1121. Date: 16 Mar 94 02:04:58 GMT
  1122. Organization: (none)
  1123.  
  1124. Organization: Apple Computer, Inc.
  1125.  
  1126. In article <rmah-130394135309@rmah.dialup.access.net> Robert S. Mah,
  1127. rmah@panix.com writes:
  1128. > From the Mart 94 AppleDirections newsletter...
  1129. > Macintosh With PowerPC Bundle (B1864LL/A)                   $849.00
  1130. > Programmer's Introduction to RISC and PowerPC (R0172LL/A)   $150.00
  1131. > Macintosh with PowerPC Starter Kit (R0563LL/A)               $39.95
  1132.  
  1133. Gack. That!s ALOT of money.
  1134.  
  1135. Seems like E.T.O. should come with all this stuff, wouldn't you think?
  1136.  
  1137. -Dave Falkenburg
  1138.  
  1139. Disclaimer: I don!t speak for Apple in this post, although someone who
  1140. think!s that the SDK is worth $850 bucks probably would.
  1141.  
  1142. +++++++++++++++++++++++++++
  1143.  
  1144. >From nagle@netcom.com (John Nagle)
  1145. Date: Fri, 25 Mar 1994 16:37:12 GMT
  1146. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  1147.  
  1148. Dave.Falkenburg%f1.n3641.z1@psybbs.durham.nc.us (Dave Falkenburg) writes:
  1149. >Organization: Apple Computer, Inc.
  1150. >In article <rmah-130394135309@rmah.dialup.access.net> Robert S. Mah,
  1151. >rmah@panix.com writes:
  1152. >> From the Mart 94 AppleDirections newsletter...
  1153. >> 
  1154. >> Macintosh With PowerPC Bundle (B1864LL/A)                   $849.00
  1155. >> Programmer's Introduction to RISC and PowerPC (R0172LL/A)   $150.00
  1156. >> Macintosh with PowerPC Starter Kit (R0563LL/A)               $39.95
  1157. >> 
  1158. >Gack. That!s ALOT of money.
  1159.  
  1160.      Keeps the rabble out.  Can't have just anybody developing PowerPC
  1161. apps.
  1162.  
  1163.      I still haven't seen a single PowerPC app in shrink-wrap form on
  1164. a store shelf, but I talked to somebody who said that they knew somebody
  1165. who had seen one.
  1166.  
  1167.                     John Nagle
  1168.  
  1169. +++++++++++++++++++++++++++
  1170.  
  1171. >From zstern@adobe.com (Zalman Stern)
  1172. Date: Sat, 26 Mar 1994 01:50:31 GMT
  1173. Organization: Adobe Systems Incorporated
  1174.  
  1175. John Nagle writes
  1176. >      I still haven't seen a single PowerPC app in shrink-wrap form on
  1177. > a store shelf, but I talked to somebody who said that they knew somebody
  1178. > who had seen one.
  1179.  
  1180. How about every copy of Photoshop 2.5.1 on store shelves? With the Power  
  1181. Macintosh accelerator (avaiable free on the net, as well as elsewhere) this  
  1182. product delivers the performance a straight Power Macintosh port would  
  1183. deliver for most operations.
  1184. --
  1185. Zalman Stern           zalman@adobe.com            (415) 962 3824
  1186. Adobe Systems, 1585 Charleston Rd., POB 7900, Mountain View, CA 94039-7900
  1187. "Do right, and risk consequences." Motto of Sam Houston (via Molly Ivins)
  1188.  
  1189. +++++++++++++++++++++++++++
  1190.  
  1191. >From nagle@netcom.com (John Nagle)
  1192. Date: Sat, 26 Mar 1994 18:02:30 GMT
  1193. Organization: NETCOM On-line Communication Services (408 241-9760 guest)
  1194.  
  1195. zstern@adobe.com (Zalman Stern) writes:
  1196. >John Nagle writes
  1197. >>      I still haven't seen a single PowerPC app in shrink-wrap form on
  1198. >> a store shelf, but I talked to somebody who said that they knew somebody
  1199. >> who had seen one.
  1200.  
  1201. >How about every copy of Photoshop 2.5.1 on store shelves? With the Power  
  1202. >Macintosh accelerator (avaiable free on the net, as well as elsewhere) this  
  1203. >product delivers the performance a straight Power Macintosh port would  
  1204. >deliver for most operations.
  1205.  
  1206.       I'm talking about product marketing.  Yes, there's stuff you can get
  1207. by mail-order.  But I'm not seeing retailers committing shelf space to
  1208. PowerPC software.
  1209.  
  1210.       Besides, the Photoshop "accelerator" isn't a full port; it's just
  1211. faster versions of a few of the slower filters.
  1212.  
  1213.                     John Nagle
  1214.  
  1215. +++++++++++++++++++++++++++
  1216.  
  1217. >From usenet@lowry.eche.ualberta.ca (Brian Lowry)
  1218. Date: 26 Mar 1994 21:29:44 GMT
  1219. Organization: Chem Eng - Univ of Alberta
  1220.  
  1221. In article <nagleCnAA46.HJu@netcom.com>, nagle@netcom.com (John Nagle)
  1222. wrote:
  1223.  
  1224. > zstern@adobe.com (Zalman Stern) writes:
  1225. > >John Nagle writes
  1226. > >>      I still haven't seen a single PowerPC app in shrink-wrap form on
  1227. > >> a store shelf, but I talked to somebody who said that they knew somebody
  1228. > >> who had seen one.
  1229.  
  1230. > >How about every copy of Photoshop 2.5.1 on store shelves? With the Power  
  1231. > >Macintosh accelerator (avaiable free on the net, as well as elsewhere) this  
  1232. > >product delivers the performance a straight Power Macintosh port would  
  1233. > >deliver for most operations.
  1234.  
  1235. >       I'm talking about product marketing.  Yes, there's stuff you can get
  1236. > by mail-order.  But I'm not seeing retailers committing shelf space to
  1237. > PowerPC software.
  1238.  
  1239. >       Besides, the Photoshop "accelerator" isn't a full port; it's just
  1240. > faster versions of a few of the slower filters.
  1241.  
  1242.   I guess this means that almost every single filter built into Photoshop
  1243. is one of the slower ones... where are the faster filters hiding?
  1244.  
  1245.   Before you go any further showing your massive misunderstanding of
  1246. PowerPC programming, perhaps you ought to consider that a port to the
  1247. PowerPC does not require 100% native code.  All that is required is native
  1248. code which patches the most processor intensive portions of an application.
  1249.  This is essentially what the Photoshop plug-in does, hence Photoshop is
  1250. now native.  Demanding 100% PowerPC code makes about as much sense as
  1251. demanding that programmers stop using Quickdraw and write something more
  1252. efficient... both Quickdraw and 680x0 emulation are built in, and there's
  1253. no reason to reinvent the wheel for something like a 5% speed improvement.
  1254.  
  1255. btw - before I get jumped on, yes I do know that Photoshop doesn't use
  1256. Quickdraw exclusively, but then, Quickdraw doesn't support CMYK :)
  1257.  
  1258. -- 
  1259.  
  1260. Brian Lowry
  1261.  
  1262. +++++++++++++++++++++++++++
  1263.  
  1264. >From zstern@adobe.com (Zalman Stern)
  1265. Date: Sun, 27 Mar 1994 09:42:27 GMT
  1266. Organization: Adobe Systems Incorporated
  1267.  
  1268. John Nagle writes
  1269. [I still haven't seen a single PowerPC app in shrink-wrap form on a store  
  1270. shelf.]
  1271.  
  1272. I wrote:
  1273. [How about Photoshop 2.5.1 plus the Power Macintosh accelerator?]
  1274.  
  1275. John Nagle writes
  1276. >       I'm talking about product marketing.  Yes, there's stuff you can get
  1277. > by mail-order.  But I'm not seeing retailers committing shelf space to
  1278. > PowerPC software.
  1279.  
  1280. New copies of Photoshop 2.5.1 are shipping with the Power Macintosh  
  1281. accelerator in the package. This product provides the winning feature of a  
  1282. Power Macintosh (i.e. speed). It doesn't matter that it is not completely  
  1283. native. (And before you complain that it would be slightly faster if it were  
  1284. fully native, keep in mind that Apple made the same decision about their  
  1285. OS.) I'm not sure if the boxes will have a sticker on them saying "Includes  
  1286. Power Macintosh support" or whatever.
  1287.  
  1288. >       Besides, the Photoshop "accelerator" isn't a full port; it's just
  1289. > faster versions of a few of the slower filters.
  1290.  
  1291. I generally don't tell other people what code they wrote does unless I'm  
  1292. *damn* sure I know what I'm talking about. I expect you to afford me the  
  1293. same courtesy. The accelerator provides native implementations of almost  
  1294. every routine that is written in 68K assembly for 2.5.1. Considering the  
  1295. quality of Macintosh compilers, it it was speed critical, a routine got  
  1296. written in assembly. (Note: the main failing of the accelerator is it  
  1297. provides minimal speedup for plug-in filters. These run at emulated speed.)
  1298.  
  1299. The accelerator provides around 90% of the speed benefit of a full native  
  1300. application with minimal impact on the memory footprint. (I know this  
  1301. because we did a bunch of measurements to make the comparison.) The QA  
  1302. effort for the accelerator product is relatively small. (Which is incredibly  
  1303. important given the limited beta testing opportunities.) The distribution  
  1304. plan is easy: anybody who wants one can have one because to get any value  
  1305. from it they need a copy of 2.5.1. In short, its an excellent engineering  
  1306. answer to the overhead of doing a complete new release of a product that's  
  1307. been shipping for a year to support a new piece of hardware. (When the full  
  1308. native version ships, it will be faster than the accelerator, but that has  
  1309. more to do with my improving the code between the products shipping.)
  1310.  
  1311. The idea of allowing speed critical functions to be replaced at runtime and  
  1312. its implementation in Photoshop is due to Mark Hamburg and Thomas Knoll. The  
  1313. underlying technology that allows this replacement on PowerPC is Mixed Mode,  
  1314. implemented by various people at Apple (or formerly at Apple :-)) including  
  1315. Sean Parent and Bruce Jones. Given these two great ideas, I didn't have to  
  1316. think very hard to come up with the idea of this accelerator.
  1317. --
  1318. Zalman Stern           zalman@adobe.com            (415) 962 3824
  1319. Adobe Systems, 1585 Charleston Rd., POB 7900, Mountain View, CA 94039-7900
  1320. "Do right, and risk consequences." Motto of Sam Houston (via Molly Ivins)
  1321.  
  1322. +++++++++++++++++++++++++++
  1323.  
  1324. >From 103t_english@west.cscwc.pima.edu
  1325. Date: 29 Mar 94 13:36:14 MST
  1326. Organization: (none)
  1327.  
  1328. In article <764568523.AA03220@psybbs.durham.nc.us>, Dave.Falkenburg%f1.n3641.z1@psybbs.durham.nc.us (Dave Falkenburg) writes:
  1329. > Organization: Apple Computer, Inc.
  1330. > In article <rmah-130394135309@rmah.dialup.access.net> Robert S. Mah,
  1331. > rmah@panix.com writes:
  1332. >> From the Mart 94 AppleDirections newsletter...
  1333. >> 
  1334. >> Macintosh With PowerPC Bundle (B1864LL/A)                   $849.00
  1335. >> Programmer's Introduction to RISC and PowerPC (R0172LL/A)   $150.00
  1336. >> Macintosh with PowerPC Starter Kit (R0563LL/A)               $39.95
  1337. >> 
  1338. > Gack. That!s ALOT of money.
  1339. > Seems like E.T.O. should come with all this stuff, wouldn't you think?
  1340. > -Dave Falkenburg
  1341. > Disclaimer: I don!t speak for Apple in this post, although someone who
  1342. > think!s that the SDK is worth $850 bucks probably would.
  1343.  
  1344. Do NOT buy the Programmer's Intro to RISC!!!!!
  1345.  
  1346.  
  1347. Honest. It is a waste of money. I am working on a shareware product (also done
  1348. in HyperCard) which will be worth far more and cost 1/10 as much.
  1349.  
  1350. Lawson
  1351.  
  1352. +++++++++++++++++++++++++++
  1353.  
  1354. >From siegel@netcom.com (Rich Siegel)
  1355. Date: Wed, 30 Mar 1994 03:33:56 GMT
  1356. Organization: Bare Bones Software
  1357.  
  1358. In article <1994Mar29.133614.1@west.cscwc.pima.edu> 103t_english@west.cscwc.pima.edu writes:
  1359.  
  1360. >Do NOT buy the Programmer's Intro to RISC!!!!!
  1361. >
  1362. >
  1363. >Honest. It is a waste of money. I am working on a shareware product (also done
  1364. >in HyperCard) which will be worth far more and cost 1/10 as much.
  1365. >
  1366. >Lawson
  1367.  
  1368. ...and which will enrich your bottom line, or so you hope.
  1369.  
  1370. Be sure that when posting, you make your articles as biased and
  1371. content-free as possible, lest someone mistake your motives.
  1372.  
  1373. R.
  1374.  
  1375. (warning: the above may cause cognitive dissonance for the sarcasm-impaired.)
  1376.  
  1377. -- 
  1378. Rich Siegel % siegel@netcom.com    % Principal, Bare Bones Software
  1379. --> For information about BBEdit, finger bbedit@world.std.com <--
  1380.  
  1381. "...yeah, I inhaled, and then I drank the bong water. So what're
  1382. you gonna do about it?" - Dennis Miller, on Bill Clinton
  1383.  
  1384. ---------------------------
  1385.  
  1386. >From steve@hi.com (Steve Byan)
  1387. Subject: PowerMacs and ARTA
  1388. Date: 21 Mar 1994 19:30:16 GMT
  1389. Organization: Hitachi Computer
  1390.  
  1391. So what's happened to ARTA in the PowerMacs? How do I write real-time DSP
  1392. code for the 601? (I'm not interested in purchasing a 3210 add-in card for
  1393. the PowerMacs.)
  1394.  
  1395. Steve Byan                                  internet: steve@hi.com
  1396. Hitachi Computer Products (America), Inc.   
  1397. 1601 Trapelo Road                           phone: (617) 890-0444
  1398. Waltham, MA 02154                           FAX: (617) 890-4998
  1399.  
  1400. +++++++++++++++++++++++++++
  1401.  
  1402. >From ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  1403. Date: 23 Mar 94 10:05:25 +1300
  1404. Organization: University of Waikato, Hamilton, New Zealand
  1405.  
  1406. In article <steve-210394142546@brainiac.hi.com>, steve@hi.com (Steve Byan) writes:
  1407. > So what's happened to ARTA in the PowerMacs? How do I write real-time DSP
  1408. > code for the 601? (I'm not interested in purchasing a 3210 add-in card for
  1409. > the PowerMacs.)
  1410.  
  1411. Last I heard ARTA is included with the PowerMacs, only there is no DSP for
  1412. them to talk to (you have to buy add-in cards for that).
  1413.  
  1414. As for writing real-time DSP code for a general-purpose CPU, good luck...
  1415.  
  1416. Lawrence D'Oliveiro                       fone: +64-7-856-2889
  1417. Info & Tech Services Division              fax: +64-7-838-4066
  1418. University of Waikato            electric mail: ldo@waikato.ac.nz
  1419. Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+12:00
  1420.  
  1421. +++++++++++++++++++++++++++
  1422.  
  1423. >From zstern@adobe.com (Zalman Stern)
  1424. Date: Wed, 23 Mar 1994 05:00:05 GMT
  1425. Organization: Adobe Systems Incorporated
  1426.  
  1427. Lawrence D'Oliveiro, Waikato University writes
  1428. > In article <steve-210394142546@brainiac.hi.com>, steve@hi.com (Steve Byan)  
  1429. writes:
  1430. > > So what's happened to ARTA in the PowerMacs? How do I write real-time  
  1431. DSP
  1432. > > code for the 601? (I'm not interested in purchasing a 3210 add-in card  
  1433. for
  1434. > > the PowerMacs.)
  1435. > Last I heard ARTA is included with the PowerMacs, only there is no DSP for
  1436. > them to talk to (you have to buy add-in cards for that).
  1437.  
  1438. The 'rtmr' gestalt selector is undefined on the Power Macintosh. I assume  
  1439. third-party DSP cards provide ARTA themselves as they do for non-AV 68K  
  1440. Macs.
  1441.  
  1442. > As for writing real-time DSP code for a general-purpose CPU, good luck...
  1443.  
  1444. This has a lot more to do with the OS software than the CPU.
  1445. --
  1446. Zalman Stern           zalman@adobe.com            (415) 962 3824
  1447. Adobe Systems, 1585 Charleston Rd., POB 7900, Mountain View, CA 94039-7900
  1448. "Do right, and risk consequences." Motto of Sam Houston (via Molly Ivins)
  1449.  
  1450. +++++++++++++++++++++++++++
  1451.  
  1452. >From steve@hi.com (Steve Byan)
  1453. Date: 23 Mar 1994 17:58:37 GMT
  1454. Organization: Hitachi Computer
  1455.  
  1456. In article <1994Mar23.100525.26753@waikato.ac.nz>, ldo@waikato.ac.nz
  1457. (Lawrence D'Oliveiro, Waikato University) wrote:
  1458. > In article <steve-210394142546@brainiac.hi.com>, steve@hi.com (Steve Byan) writes:
  1459. > > So what's happened to ARTA in the PowerMacs? How do I write real-time DSP
  1460. > > code for the 601? (I'm not interested in purchasing a 3210 add-in card for
  1461. > > the PowerMacs.)
  1462. > Last I heard ARTA is included with the PowerMacs, only there is no DSP for
  1463. > them to talk to (you have to buy add-in cards for that).
  1464. > As for writing real-time DSP code for a general-purpose CPU, good luck...
  1465.  
  1466. Apple claims to ship real-time speech-recognition, speech synthesis, and
  1467. 9600 baud modem code with the PowerMacs - using only the 601 - not using
  1468. any DSP chip. Supposedly the 601 can do multiply-accumulates faster than
  1469. the 3210. 
  1470.  
  1471. The remaining question is "by what mechanism am I supposed to schedule
  1472. real-time (DSP) code that executes on the 601, and processes sound
  1473. samples?". For the AV Macs, the answer was "use ARTA". My hope is that the
  1474. same API applies for the PowerMacs.
  1475.  
  1476. Does anyone have any real information they can pass on?
  1477.  
  1478. Thanks,
  1479. -Steve
  1480.  
  1481. Steve Byan                                  internet: steve@hi.com
  1482. Hitachi Computer Products (America), Inc.   
  1483. 1601 Trapelo Road                           phone: (617) 890-0444
  1484. Waltham, MA 02154                           FAX: (617) 890-4998
  1485.  
  1486. +++++++++++++++++++++++++++
  1487.  
  1488. >From amanda@intercon.com (Amanda Walker)
  1489. Date: Wed, 23 Mar 1994 16:08:20 -0500
  1490. Organization: InterCon Systems Corporation, Herndon, VA USA
  1491.  
  1492. ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) writes:
  1493. > Last I heard ARTA is included with the PowerMacs, only there is no DSP 
  1494. > for them to talk to (you have to buy add-in cards for that). 
  1495.  
  1496. ARTA is not present.  There is evidently some real-time code in them (used
  1497. by the Power Macintosh Geoport software, for example), but it is so far
  1498. undocumented.
  1499.  
  1500. > As for writing real-time DSP code for a general-purpose CPU, good 
  1501. > luck... 
  1502.  
  1503. Indeed.  I get sound dropouts on my 8100/80 if the CPU gets busy.
  1504. I'm sticking with my 660AV for anything involving audio for the time being.
  1505.  
  1506.  
  1507. Amanda Walker
  1508. Advanced Projects
  1509. InterCon Systems Corporation
  1510.  
  1511.  
  1512.  
  1513. +++++++++++++++++++++++++++
  1514.  
  1515. >From amanda@intercon.com (Amanda Walker)
  1516. Date: Wed, 23 Mar 1994 16:09:26 -0500
  1517. Organization: InterCon Systems Corporation, Herndon, VA USA
  1518.  
  1519. steve@hi.com (Steve Byan) writes:
  1520. > For the AV Macs, the answer was "use ARTA". My hope is that the same API 
  1521. > applies for the PowerMacs. 
  1522.  
  1523. It does not.  Any real-time API that may exist on Power Macintosh machines
  1524. is currently undocumented.  There's always the Time Manager, I suppose :-P.
  1525.  
  1526.  
  1527. Amanda Walker
  1528. Advanced Projects
  1529. InterCon Systems Corporation
  1530.  
  1531.  
  1532.  
  1533. +++++++++++++++++++++++++++
  1534.  
  1535. >From ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  1536. Date: 25 Mar 94 14:27:54 +1300
  1537. Organization: University of Waikato, Hamilton, New Zealand
  1538.  
  1539. In article <9403231608.AA20803@fusion.intercon.com>, amanda@intercon.com (Amanda Walker) writes:
  1540. > ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) writes:
  1541. >> Last I heard ARTA is included with the PowerMacs, only there is no DSP
  1542. >> for them to talk to (you have to buy add-in cards for that).
  1543. >
  1544. > ARTA is not present.  There is evidently some real-time code in them (used
  1545. > by the Power Macintosh Geoport software, for example), but it is so far
  1546. > undocumented.
  1547. >
  1548. >> As for writing real-time DSP code for a general-purpose CPU, good
  1549. >> luck...
  1550. >
  1551. > Indeed.  I get sound dropouts on my 8100/80 if the CPU gets busy.
  1552. > I'm sticking with my 660AV for anything involving audio for the time being.
  1553.  
  1554. (Gloat, gloat.) I'd just like to repeat a couple of statements I made on
  1555. comp.sys.mac.hardware:
  1556.  
  1557. * N + 1 processors are better than N. You can usually find a way to make use
  1558. of more processors to run things in parallel.
  1559.  
  1560. * A purpose-built processor is inherently superior to a general-purpose one
  1561. _for that particular purpose_. People keep talking about how "DSP-like" the
  1562. PowerPC is, just because it can do a multiply-and-add in one instruction. But
  1563. there's more to a DSP than that.
  1564.  
  1565. Put these two together, and the conclusion is inescapable: Apple is going
  1566. to have to return to the multiple-processor approach, and bring out Power Macs
  1567. with DSPs in them.
  1568.  
  1569. When that happens, I might be tempted to give up my 840AV...
  1570.  
  1571. Lawrence D'Oliveiro                       fone: +64-7-856-2889
  1572. Info & Tech Services Division              fax: +64-7-838-4066
  1573. University of Waikato            electric mail: ldo@waikato.ac.nz
  1574. Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+12:00
  1575.  
  1576. +++++++++++++++++++++++++++
  1577.  
  1578. >From james@astro.as.utexas.edu (James McCartney)
  1579. Date: 25 Mar 1994 14:27:43 GMT
  1580. Organization: McDonald Observatory, University of Texas @ Austin
  1581.  
  1582. In article <9403231609.AA26772@fusion.intercon.com>,
  1583. Amanda Walker <amanda@intercon.com> wrote:
  1584.  
  1585. >  Any real-time API that may exist on Power Macintosh machines
  1586. >is currently undocumented.  There's always the Time Manager, I suppose :-P.
  1587.  
  1588.  
  1589.     Having not used the Time Mgr, what does it really guarantee in
  1590. terms of max delay, etc?  How reliable would using the callback 
  1591. routines in the double buffering sound routines be?
  1592.  
  1593.   --- james mccartney
  1594.  
  1595.  
  1596.  
  1597. +++++++++++++++++++++++++++
  1598.  
  1599. >From andrewb@iconz.co.nz (Andrew Bevin)
  1600. Date: 26 Mar 1994 07:34:32 GMT
  1601. Organization: data visual software
  1602.  
  1603. In article <1994Mar25.142754.26895@waikato.ac.nz>, ldo@waikato.ac.nz
  1604. (Lawrence D'Oliveiro, Waikato University) wrote:
  1605.  
  1606. ...
  1607. > Put these two together, and the conclusion is inescapable: Apple is going
  1608. > to have to return to the multiple-processor approach, and bring out Power Macs
  1609. > with DSPs in them.
  1610. > When that happens, I might be tempted to give up my 840AV...
  1611. > Lawrence D'Oliveiro                       fone: +64-7-856-2889
  1612. > Info & Tech Services Division              fax: +64-7-838-4066
  1613. > University of Waikato            electric mail: ldo@waikato.ac.nz
  1614. > Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+12:00
  1615.  
  1616. So what happened to the centris 650 with the Video Spigot?
  1617.  
  1618. Andrew "Just keeping tabs" Bevin
  1619.  
  1620. -- 
  1621. andrewb@iconz.co.nz -- "I've a Plan so cunning you could put a tail on it
  1622.     and call it a weasel" - BlackAdder
  1623.  
  1624. +++++++++++++++++++++++++++
  1625.  
  1626. >From zstern@adobe.com (Zalman Stern)
  1627. Date: Sun, 27 Mar 1994 03:06:35 GMT
  1628. Organization: Adobe Systems Incorporated
  1629.  
  1630. Lawrence D'Oliveiro, Waikato University writes
  1631. > (Gloat, gloat.) I'd just like to repeat a couple of statements I made on
  1632. > comp.sys.mac.hardware:
  1633.  
  1634. Gloating seldom improves the rigor of one's arguments.
  1635.  
  1636. > * N + 1 processors are better than N. You can usually find a way to make  
  1637. use
  1638. > of more processors to run things in parallel.
  1639.  
  1640. The above statement is simply not true. First off, N + 1 processors cost  
  1641. more than N (for positive N :-)). In the case of going from N=1 to N=2, the  
  1642. expense is more than the added cost of another processor as external  
  1643. hardware must be added and significant software development costs must be  
  1644. amortized.
  1645.  
  1646. In the performance realm, there are plenty of examples of parallelized  
  1647. software running slower than a uniprocessor version. There are two primary  
  1648. reasons for this: communication overhead and slower hardware. Communication  
  1649. overhead involves the obvious issue of synchronizing separate processes and  
  1650. transferring data from one processor to another. (Even if they share memory,  
  1651. cache issues must be taken into account.)
  1652.  
  1653. The slower hardware issue is more interesting. Generally, simpler hardware  
  1654. has a faster design cycle and is cheaper to produce. The result of this is  
  1655. that for a given amount of money in a given timeframe, a uniprocessor  
  1656. machine will be faster than the individual processors in a multiprocessor  
  1657. box. Unless you're application takes good advantage of the multiprocessor,  
  1658. it will run faster on the uniprocessor. This is especially relevant for a  
  1659. heterogeneous multiprocessor like the 840AV where it is more difficult (and  
  1660. much less portable) to split one's application between different CPUs.
  1661.  
  1662. > * A purpose-built processor is inherently superior to a general-purpose  
  1663. one
  1664. > _for that particular purpose_.
  1665.  
  1666. The DSP subsystem in Apple's AV Macs attempts to be general purpose. By the  
  1667. time all is said and done, it has to support telecommunications, audio  
  1668. processing, and image processing. A whole real-time OS and software  
  1669. architecture is required to implement all this. Furthermore, since it is  
  1670. exported to applications software, lots of flexibility in hardware  
  1671. implementation is lost since future platforms have to be compatible. The  
  1672. subsystem is most specialized for telecom applications. Which is nice,  
  1673. except that I can get that functionality with cost effective add-on modem  
  1674. hardware.
  1675.  
  1676. In contrast, when SGI (a company noted for strong multi-media support) built  
  1677. hardware with an embedded DSP, they did not export interfaces to the DSP  
  1678. directly. Rather they provided high-level libraries to implement signal  
  1679. processing functionality. They now ship R4000 based machines without a DSP  
  1680. and old software works fine.
  1681.  
  1682. > People keep talking about how "DSP-like" the
  1683. > PowerPC is, just because it can do a multiply-and-add in one instruction.  
  1684. But
  1685. > there's more to a DSP than that.
  1686.  
  1687. PowerPC provides a number of other features which are useful for  
  1688. implementing signal processing codes such as zero overhead loops and update  
  1689. addressing modes. The only DSP like thing that is really missing is  
  1690. efficient methods of converting floating-point numbers into common signal  
  1691. data formats (e.g. 8 and 16 bit integers, u law and A law 8 bit formats).  
  1692. The architecture also makes it difficult to cheaply implement as much memory  
  1693. bandwidth as the DSP3210 has. However, the DSP3210 architecture basically  
  1694. mandates a certain pipeline and other features which make it fairly  
  1695. inflexible.
  1696.  
  1697. > Put these two together, and the conclusion is inescapable: Apple is going
  1698. > to have to return to the multiple-processor approach, and bring out Power  
  1699. Macs
  1700. > with DSPs in them.
  1701.  
  1702. The problem Apple has now is running anything remotely real-time on the same  
  1703. processor as their system software. One solution to this is adding another  
  1704. processor to the box. Another solution is to write better system software.  
  1705. If they do add more hardware to the box, there is nothing that says it has  
  1706. to be a DSP3210. (For example, a 603 or one of the new PowerPC  
  1707. implementations targeted at the embedded market would probably work as well  
  1708. and be a lot easier to develop software for.)
  1709.  
  1710. > When that happens, I might be tempted to give up my 840AV...
  1711.  
  1712. My two favorite quotes on the 840AV: "It sucketh mightily." and "The IIfx of  
  1713. the 90's."
  1714.  
  1715. I've tried programming the DSP3210 and I have lots of experience with  
  1716. PowerPC. I'll take PowerPC anytime thank you.
  1717. --
  1718. Zalman Stern           zalman@adobe.com            (415) 962 3824
  1719. Adobe Systems, 1585 Charleston Rd., POB 7900, Mountain View, CA 94039-7900
  1720. "Do right, and risk consequences." Motto of Sam Houston (via Molly Ivins)
  1721.  
  1722. +++++++++++++++++++++++++++
  1723.  
  1724. >From mxmora@unix.sri.com (Matt Mora)
  1725. Date: 28 Mar 1994 13:44:02 -0800
  1726. Organization: SRI International, Menlo Park, CA
  1727.  
  1728. In article <1994Mar27.030635.19508@adobe.com> zstern@adobe.com (Zalman Stern) writes:
  1729.  
  1730. >I've tried programming the DSP3210 and I have lots of experience with  
  1731. >PowerPC. I'll take PowerPC anytime thank you.
  1732.  
  1733.  
  1734. Besides, I you can get a PPC compiler for about $300.00. The DSP
  1735. compiler is about $1000.00. Ouch!
  1736.  
  1737.  
  1738.  
  1739. Xavier
  1740.  
  1741. -- 
  1742. ___________________________________________________________
  1743. Matthew Xavier Mora                       Matt_Mora@sri.com
  1744. SRI International                       mxmora@unix.sri.com
  1745. 333 Ravenswood Ave                    Menlo Park, CA. 94025
  1746.  
  1747. +++++++++++++++++++++++++++
  1748.  
  1749. >From ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  1750. Date: 29 Mar 94 11:54:55 +1300
  1751. Organization: University of Waikato, Hamilton, New Zealand
  1752.  
  1753. In article <1994Mar27.030635.19508@adobe.com>, zstern@adobe.com (Zalman Stern) writes:
  1754. > Lawrence D'Oliveiro, Waikato University writes
  1755. >> * N + 1 processors are better than N. You can usually find a way to make
  1756. > use
  1757. >> of more processors to run things in parallel.
  1758. >
  1759. > The above statement is simply not true. First off, N + 1 processors cost
  1760. > more than N (for positive N :-)).
  1761.  
  1762. Nevertheless, according to our shop price lists, a 6100/60AV is significantly
  1763. more expensive than a 660AV.
  1764.  
  1765. > In the performance realm, there are plenty of examples of parallelized
  1766. > software running slower than a uniprocessor version. There are two primary
  1767. > reasons for this: communication overhead and slower hardware.
  1768.  
  1769. No, the primary reason is dumbass programmers who think that they *must*
  1770. run everything in parallel, just because they can. That extra processor gives
  1771. you the choice: the trick is knowing when to take it.
  1772.  
  1773. > The slower hardware issue is more interesting. Generally, simpler hardware
  1774. > has a faster design cycle and is cheaper to produce.
  1775.  
  1776. See above re prices.
  1777.  
  1778. >> * A purpose-built processor is inherently superior to a general-purpose
  1779. > one
  1780. >> _for that particular purpose_.
  1781. >
  1782. > The DSP subsystem in Apple's AV Macs attempts to be general purpose. By the
  1783. > time all is said and done, it has to support telecommunications, audio
  1784. > processing, and image processing. A whole real-time OS and software
  1785. > architecture is required to implement all this. Furthermore, since it is
  1786. > exported to applications software, lots of flexibility in hardware
  1787. > implementation is lost since future platforms have to be compatible.
  1788.  
  1789. I see your point about things like DSP libraries. That would have been a
  1790. good thing to add, and I don't think it's too late to do so.
  1791.  
  1792. > The
  1793. > subsystem is most specialized for telecom applications. Which is nice,
  1794. > except that I can get that functionality with cost effective add-on modem
  1795. > hardware.
  1796.  
  1797. The nicest thing I can say is that this is a short-sighted view.
  1798.  
  1799. >
  1800. >> Put these two together, and the conclusion is inescapable: Apple is going
  1801. >> to have to return to the multiple-processor approach, and bring out Power
  1802. > Macs
  1803. >> with DSPs in them.
  1804. >
  1805. > The problem Apple has now is running anything remotely real-time on the same
  1806. > processor as their system software.
  1807.  
  1808. No way can you get the performance this way, as some PowerMac users are already
  1809. discovering. Keeping the real-time and non-real-time stuff on separate
  1810. processors is the way to go.
  1811.  
  1812. >> When that happens, I might be tempted to give up my 840AV...
  1813. >
  1814. > My two favorite quotes on the 840AV: "It sucketh mightily." and "The IIfx of
  1815. > the 90's."
  1816.  
  1817. I've had a IIfx for several years. And I've had an 840AV for about a month
  1818. now. I'll take the 840AV anytime thank you.
  1819.  
  1820. > I've tried programming the DSP3210 and I have lots of experience with
  1821. > PowerPC. I'll take PowerPC anytime thank you.
  1822.  
  1823. We do DSP programming not because it is easy, but because it is hard...
  1824.  
  1825. Lawrence
  1826. (still gloating)
  1827.  
  1828. ---------------------------
  1829.  
  1830. >From marshall@kauri.vuw.ac.nz (Stephen Marshall)
  1831. Subject: Quickdraw GX Beta 3
  1832. Date: 18 Mar 1994 03:21:19 GMT
  1833. Organization: Victoria University of Wellington
  1834.  
  1835. Hi, 
  1836.  
  1837. I have just tried to run this off the March Developers CD and got a finder
  1838. error 41 (could not load finder?). Has anyone else encountered this
  1839. problem? Happens on a 660av and an LC475 with a new install of System 7.1.
  1840.  
  1841. Stephen Marshall
  1842. -- 
  1843. Macintosh Consultant                              Marshall@kauri.vuw.ac.nz
  1844. Victoria University of Wellington
  1845. New Zealand
  1846.  
  1847. +++++++++++++++++++++++++++
  1848.  
  1849. >From andreas@sctc.com (Glenn Andreas)
  1850. Date: Sat, 19 Mar 1994 15:16:23 GMT
  1851. Organization: SCTC
  1852.  
  1853. marshall@kauri.vuw.ac.nz (Stephen Marshall) writes:
  1854.  
  1855. >Hi, 
  1856.  
  1857. >I have just tried to run this off the March Developers CD and got a finder
  1858. >error 41 (could not load finder?). Has anyone else encountered this
  1859. >problem? Happens on a 660av and an LC475 with a new install of System 7.1.
  1860.  
  1861. >Stephen Marshall
  1862.  
  1863. I've had the exact same problem.  You can just hit "g" from MacsBug and it
  1864. will eventually bring up an alert saying "Couldn't load QuickDraw GX,." or
  1865. something like that.
  1866.  
  1867. What is happening is that the QuickDraw GX file is compressed on the CD and
  1868. when the installer goes to expand it, something goes wrong, which results
  1869. in resource fork being hosed.  The finder goes to open the resource fork,
  1870. and fails, thus the message.
  1871.  
  1872. However, I don't know why the installer doesn't expand it correctly - I've
  1873. yet to get it to work (I've tried on different machines (though all C610
  1874. running either 7.1 or 7.1 Pro) with different CD Roms, tried moving the
  1875. installer stuff to hard drive, etc...)  What is strange is that the results
  1876. of the different attempts often different.  Basically, something is being
  1877. expanded too big (the file is larger, usually by some value that is a
  1878. multiple of at least $100, often $1000) and so doesn't work as a resource
  1879. file - I've even tried changing the header information to point to where
  1880. the resmap ends up, but upon opening it with ResEdit, only about half the
  1881. resources can be salvaged.
  1882.  
  1883. I was guessing it was just me, since I hadn't seen anything posted here
  1884. about it (though I find it difficult to believe that a CD can be "bad",
  1885. that was one of the constants between all installs), and the next mailing
  1886. is due in a week or so, I figured I'd just try again then.
  1887.  
  1888. Glenn Andreas
  1889.  
  1890.  
  1891. +++++++++++++++++++++++++++
  1892.  
  1893. >From b-clark@nwu.edu (Brian Clark)
  1894. Date: Sat, 19 Mar 1994 18:15:52 -0600
  1895. Organization: Northwestern University
  1896.  
  1897. In article <1994Mar19.151623.19993@sctc.com>, andreas@sctc.com (Glenn
  1898. Andreas) wrote:
  1899.  
  1900. > marshall@kauri.vuw.ac.nz (Stephen Marshall) writes:
  1901.  
  1902. > I was guessing it was just me, since I hadn't seen anything posted here
  1903. > about it (though I find it difficult to believe that a CD can be "bad",
  1904. > that was one of the constants between all installs), and the next mailing
  1905. > is due in a week or so, I figured I'd just try again then.
  1906.  
  1907. I've had something similar happen. Everything loads fine at startup, and
  1908. seems to work, but DiskFix complains about the QD GX extension file length
  1909. being wrong. Making a copy of the file, then replacing the active version
  1910. with the copy usually works, but I have had the error message reccur.
  1911.  
  1912. +++++++++++++++++++++++++++
  1913.  
  1914. >From Jaime Prilusky <lsprilus@weizmann.weizmann.ac.il>
  1915. Date: Sun, 20 Mar 1994 15:16:04 GMT
  1916. Organization: Weizmann Institute of Science
  1917.  
  1918. In article <marshall-180394162328@makomako.its.vuw.ac.nz> Stephen
  1919. Marshall, marshall@kauri.vuw.ac.nz writes:
  1920. >I have just tried to run this off the March Developers CD and got a
  1921. finder
  1922. >error 41 (could not load finder?). Has anyone else encountered this
  1923. >problem? Happens on a 660av and an LC475 with a new install of System
  1924. 7.1.
  1925.  
  1926.  Please check if you have installed the WunderBar Control pannel. I had
  1927. the same
  1928.  problem, even with MPW, until we removed it.
  1929.  
  1930.  Dr Jaime Prilusky, Head
  1931.  Bioinformatics Unit                 ! LSPRILUS@WEIZMANN.WEIZMANN.AC.IL
  1932.  Weizmann Institute of Science       ! fax: 972-8-344113
  1933.  76100 Rehovot - Israel              ! tel: 972-8-343456
  1934.  
  1935. +++++++++++++++++++++++++++
  1936.  
  1937. >From gwatts@whcdfo.fnal.gov
  1938. Date: 21 Mar 94 12:09:51 -0600
  1939. Organization: Fermi National Accelerator Lab
  1940.  
  1941. In article <1994Mar20.151604.10409@wisipc.weizmann.ac.il>, Jaime Prilusky <lsprilus@weizmann.weizmann.ac.il> writes:
  1942. > In article <marshall-180394162328@makomako.its.vuw.ac.nz> Stephen
  1943. > Marshall, marshall@kauri.vuw.ac.nz writes:
  1944. >>I have just tried to run this off the March Developers CD and got a
  1945. > finder
  1946. >>error 41 (could not load finder?). Has anyone else encountered this
  1947. >>problem? Happens on a 660av and an LC475 with a new install of System
  1948. > 7.1.
  1949.  I too had this problem on my SE/30.  A clean install of sys 7.1 didn't fix
  1950. it, however, careful dusting and wiping of the cd did....  I swear!  It
  1951. was as if some bad data came off my cd.  The bomb was reproducable (sp) and
  1952. I repeated the install (of sys 7 and GX) three times before I "cleaned" my
  1953. CD and off it went.  I was using the GX Beta 3 off of develop, by the way.
  1954. My se/30 has 5 megs (can you say "virtual memory").
  1955.   I've seen this happen before -- nonsense characters in header files,
  1956. for example.  I'm not sure why the CD didn't do error checking on the file.
  1957.  
  1958.     Cheers,
  1959.         Gordon (gwatts@fnal.fnal.gov)
  1960.  
  1961.  
  1962. +++++++++++++++++++++++++++
  1963.  
  1964. >From ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  1965. Date: 22 Mar 94 17:46:05 +1300
  1966. Organization: University of Waikato, Hamilton, New Zealand
  1967.  
  1968. In article <1994Mar19.151623.19993@sctc.com>, andreas@sctc.com (Glenn Andreas) writes:
  1969. >
  1970. > What is happening is that the QuickDraw GX file is compressed on the CD and
  1971. > when the installer goes to expand it, something goes wrong, which results
  1972. > in resource fork being hosed.  The finder goes to open the resource fork,
  1973. > and fails, thus the message.
  1974. >
  1975. > However, I don't know why the installer doesn't expand it correctly - I've
  1976. > yet to get it to work (I've tried on different machines (though all C610
  1977. > running either 7.1 or 7.1 Pro) with different CD Roms, tried moving the
  1978. > installer stuff to hard drive, etc...)  What is strange is that the results
  1979. > of the different attempts often different.
  1980.  
  1981. For what it's worth, I've done 3 installs of QuickDraw GX beta 3 so far,
  1982. from the March developer CD. The two on 68040 machines (a Centris 650 and an
  1983. 840AV) worked perfectly. I've been through the _entire_ SlideMaster demo on
  1984. both machines without a single crash! And several parts were noticeably faster
  1985. than with beta 2.
  1986.  
  1987. I installed the PPC version on a PowerMac 6100/60AV. That one mostly works,
  1988. but I got one crash in SlideMaster, and printers don't seem to appear reliably
  1989. in the Chooser.
  1990.  
  1991. One definite problem is that I can't print to a LaserJet 4ML with the
  1992. LaserWriter GX driver. But then, it's not the first problem I've had with an
  1993. HP PostScript printer...
  1994.  
  1995. By the way, here's a small puzzle that might entertain some. After updating
  1996. to the b3 interfaces and recompiling my code, none of it would work. It took
  1997. me two days to figure out what the problem was. Here's an example of what I
  1998. was doing wrong: can you spot the mistake?
  1999.  
  2000.     PROCEDURE GXNewShape
  2001.       (
  2002.     aType : gxShapeType
  2003.       ) : gxShape;
  2004.  
  2005.     CODE
  2006.         0709EH,        (* moveq.l #$9E, d0 *)
  2007.         0A832H,        (* _Skia *)
  2008.         0588FH,        (* addq.l #4, sp *)
  2009.         02E80H;        (* move.l d0, (sp) *)
  2010.  
  2011. Lawrence D'Oliveiro                       fone: +64-7-856-2889
  2012. Info & Tech Services Division              fax: +64-7-838-4066
  2013. University of Waikato            electric mail: ldo@waikato.ac.nz
  2014. Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+13:00
  2015.  
  2016. +++++++++++++++++++++++++++
  2017.  
  2018. >From hammett@sbsu1.auckland.ac.nz (Tim Hammett)
  2019. Date: 22 Mar 1994 23:52:57 GMT
  2020. Organization: University of Auckland
  2021.  
  2022. ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) writes:
  2023. >By the way, here's a small puzzle that might entertain some. After updating
  2024. >to the b3 interfaces and recompiling my code, none of it would work. It took
  2025. >me two days to figure out what the problem was. Here's an example of what I
  2026. >was doing wrong: can you spot the mistake?
  2027. >
  2028. >    PROCEDURE GXNewShape
  2029. >      (
  2030. >    aType : gxShapeType
  2031. >      ) : gxShape;
  2032. >
  2033. >    CODE
  2034. >        0709EH,        (* moveq.l #$9E, d0 *)
  2035. >        0A832H,        (* _Skia *)
  2036. >        0588FH,        (* addq.l #4, sp *)
  2037. >        02E80H;        (* move.l d0, (sp) *)
  2038.  
  2039. I'll take a guess (at the risk of making myself look like an idiot).
  2040.  
  2041. I assume that $9e is the routine selector which you pass to the
  2042. _Skia trap to tell it you want to do a GXNewShape(). My guess
  2043. is that moveq sign extends the $9e (since it's negative when
  2044. considered as a byte), so while you thought you were passing
  2045. $0000009e in d0, you were actually passing $ffffff9e.
  2046.  
  2047. KON: Nasty.
  2048.  
  2049. BAL: Yup.
  2050.  
  2051. --
  2052. Tim Hammett, School of Biological Sciences, Auckland University, New Zealand.
  2053. t.hammett@auckland.ac.nz   Phone: +64-9-373-7599 x8365    FAX: +64-9-373-7416
  2054.  
  2055. +++++++++++++++++++++++++++
  2056.  
  2057. >From ivanski@world.std.com (Ivan M CaveroBelaunde)
  2058. Date: Tue, 22 Mar 1994 23:08:28 GMT
  2059. Organization: The World Public Access UNIX, Brookline, MA
  2060.  
  2061. ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) writes:
  2062. >    PROCEDURE GXNewShape
  2063. >      (
  2064. >    aType : gxShapeType
  2065. >      ) : gxShape;
  2066.  
  2067. >    CODE
  2068. >        0709EH,        (* moveq.l #$9E, d0 *)
  2069. >        0A832H,        (* _Skia *)
  2070. >        0588FH,        (* addq.l #4, sp *)
  2071. >        02E80H;        (* move.l d0, (sp) *)
  2072.  
  2073. How come your compiler didn't barf at having a *procedure* that returns
  2074. a result? Also, wouldn't a moveq.l sign-extend 9E before stuffing it into
  2075. D0?
  2076.  
  2077. -Ivan
  2078. - -
  2079. Ivan Cavero Belaunde (ivanski@world.std.com)
  2080. Avid VideoShop Project Lead
  2081. Avid Technology, Inc.
  2082.  
  2083.  
  2084. +++++++++++++++++++++++++++
  2085.  
  2086. >From Stephan Bublava <stephan@iguwnext.tuwien.ac.at>
  2087. Date: 23 Mar 1994 08:34:32 GMT
  2088. Organization: Vienna University of Technology
  2089.  
  2090. In article <Cn39M5.DG0@world.std.com> Ivan M CaveroBelaunde,
  2091. ivanski@world.std.com writes:
  2092.  
  2093. >How come your compiler didn't barf at having a *procedure* 
  2094. >that returns a result?
  2095.  
  2096. Because it is Modula-2 and not Pascal.
  2097.  
  2098. --
  2099. Stephan Bublava
  2100. stephan@iguwnext.tuwien.ac.at
  2101.  
  2102. +++++++++++++++++++++++++++
  2103.  
  2104. >From andreas@sctc.com (Glenn Andreas)
  2105. Date: Wed, 23 Mar 1994 14:57:43 GMT
  2106. Organization: SCTC
  2107.  
  2108. marshall@kauri.vuw.ac.nz (Stephen Marshall) writes:
  2109.  
  2110. >Hi, 
  2111.  
  2112. >I have just tried to run this off the March Developers CD and got a finder
  2113. >error 41 (could not load finder?). Has anyone else encountered this
  2114. >problem? Happens on a 660av and an LC475 with a new install of System 7.1.
  2115.  
  2116. Well, after having the same problem, I finally found a way around it (see
  2117. my previous post for more symptoms).
  2118.  
  2119. I copied the installer folder onto my hard disk (takes 6.2 megs).  I then
  2120. took the Installer 4.0GM from the April dev CD (arived yesterday).  Modified
  2121. the installer script in ResEdit to say version 4.0 instead of 4.0b1.  Launched
  2122. the installer and proceeded as normal.
  2123.  
  2124. So it appears that the problem was not the CD (though I did try cleaning it)
  2125. but rather flaky behavior with the beta installer.
  2126.  
  2127. Glenn
  2128.  
  2129. +++++++++++++++++++++++++++
  2130.  
  2131. >From marshall@kauri.vuw.ac.nz (Stephen Marshall)
  2132. Date: 24 Mar 1994 01:36:41 GMT
  2133. Organization: Victoria University of Wellington
  2134.  
  2135.  
  2136. > marshall@kauri.vuw.ac.nz (Stephen Marshall) writes:
  2137. > >Hi, 
  2138. > >I have just tried to run this off the March Developers CD and got a finder
  2139. > >error 41 (could not load finder?). Has anyone else encountered this
  2140. > >problem? Happens on a 660av and an LC475 with a new install of System 7.1.
  2141. > >Stephen Marshall
  2142.  
  2143. In article <1994Mar19.151623.19993@sctc.com>, andreas@sctc.com (Glenn
  2144. Andreas) wrote:
  2145. >
  2146. What is happening is that the QuickDraw GX file is compressed on the CD and
  2147. when the installer goes to expand it, something goes wrong, which results
  2148. in resource fork being hosed.  The finder goes to open the resource fork,
  2149. and fails, thus the message.
  2150. >
  2151.  
  2152. Lawrence D'Olivero wrote:
  2153. >
  2154. For what it's worth, I've done 3 installs of QuickDraw GX beta 3 so far,
  2155. from the March developer CD.
  2156. >
  2157.  
  2158. And someone else suggested I clean the CD. 
  2159.  
  2160. Well, despite Lawrence's (and presumably many other's) happy experiences I
  2161. have not been able to install the software. When I try to open the
  2162. Quickdraw GX extension with ResEdit I am informed that the file is corrupt
  2163. and should be replaced with a backup. This is with a clean CD (well
  2164. polished 8-), and also with trying to install from a hard disk rather than
  2165. the CD.
  2166.  
  2167. I can't help wondering if a subset of the CDs have been incorrectly
  2168. produced or damaged in some fashion (???). I guess I will have to wait for
  2169. the next release of the software 8-(
  2170.  
  2171. Stephen
  2172. -- 
  2173. Macintosh Consultant                              Marshall@kauri.vuw.ac.nz
  2174. Victoria University of Wellington
  2175. New Zealand
  2176.  
  2177. +++++++++++++++++++++++++++
  2178.  
  2179. >From ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  2180. Date: 24 Mar 94 17:00:06 +1300
  2181. Organization: University of Waikato, Hamilton, New Zealand
  2182.  
  2183. In article <Cn39M5.DG0@world.std.com>, ivanski@world.std.com (Ivan M CaveroBelaunde) writes:
  2184. > ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) writes:
  2185. >>    PROCEDURE GXNewShape
  2186. >>      (
  2187. >>    aType : gxShapeType
  2188. >>      ) : gxShape;
  2189. >
  2190. >>    CODE
  2191. >>        0709EH,        (* moveq.l #$9E, d0 *)
  2192. >>        0A832H,        (* _Skia *)
  2193. >>        0588FH,        (* addq.l #4, sp *)
  2194. >>        02E80H;        (* move.l d0, (sp) *)
  2195. >
  2196. > How come your compiler didn't barf at having a *procedure* that returns
  2197. > a result?
  2198.  
  2199. Hint: the language doesn't have a "FUNCTION" keyword.
  2200.  
  2201. > Also, wouldn't a moveq.l sign-extend 9E before stuffing it into
  2202. > D0?
  2203.  
  2204. Give the man a cigar!
  2205.  
  2206. Lawrence
  2207. (only using moveq's for selectors up to 7F now.)
  2208.  
  2209. +++++++++++++++++++++++++++
  2210.  
  2211. >From dowdy@apple.com (Tom Dowdy)
  2212. Date: Wed, 30 Mar 1994 01:53:07 GMT
  2213. Organization: Apple Computer, Inc.
  2214.  
  2215. In article <marshall-240394143323@makomako.its.vuw.ac.nz>,
  2216. marshall@kauri.vuw.ac.nz (Stephen Marshall) wrote:
  2217.  
  2218. > Well, despite Lawrence's (and presumably many other's) happy experiences I
  2219. > have not been able to install the software. When I try to open the
  2220. > Quickdraw GX extension with ResEdit I am informed that the file is corrupt
  2221. > and should be replaced with a backup. This is with a clean CD (well
  2222. > polished 8-), and also with trying to install from a hard disk rather than
  2223. > the CD.
  2224.  
  2225. ResEdit will normally offer to repair this, and the resulting file
  2226. should be usable.
  2227.  
  2228. > I can't help wondering if a subset of the CDs have been incorrectly
  2229. > produced or damaged in some fashion (???). I guess I will have to wait for
  2230. > the next release of the software 8-(
  2231.  
  2232. Should be out soon -- but what is on the disk should install with
  2233. the exception of the "repair" mentioned above.
  2234.  
  2235. -- 
  2236.  Tom Dowdy                  Internet: dowdy@apple.COM
  2237.  Apple Computer MS:302-3KS  UUCP: {sun,voder,amdahl,decwrl}!apple!dowdy
  2238.  1 Infinite Loop            AppleLink: DOWDY1
  2239.  Cupertino, CA 95014       
  2240.  "The 'Ooh-Ah' Bird is so called because it lays square eggs."
  2241.  
  2242. ---------------------------
  2243.  
  2244. End of C.S.M.P. Digest
  2245. **********************
  2246.  
  2247.  
  2248.